Information processing system and information processing method

ABSTRACT

A handheld terminal  200  performs wireless communication with a game apparatus  103  and determines whether the wireless communication with the game apparatus  103  is possible. The game apparatus  103  performs wireless communication with the handheld terminal  200  and determines whether the wireless communication with the handheld terminal  200  is possible. The game apparatus  103  performs a return home determination process, based on the determination about whether the wireless communication is possible, when the wireless communication with the handheld terminal  200  has become, after having become disabled, enabled again.

CROSS REFERENCE TO RELATED APPLICATION

This application is a continuation of U.S. patent application Ser. No.13/253,337 filed Oct. 5, 2011. The disclosure of U.S. patent applicationSer. No. 13/253,337 and the disclosure of Japanese Patent ApplicationNo. 2010-284685, filed on Dec. 21, 2010, are both incorporated herein byreference.

FIELD

The exemplary embodiments described herein relate to an informationprocessing system and an information processing method in which astationary information processing apparatus and a handheld informationprocessing apparatus wirelessly communicate with each other.

BACKGROUND AND SUMMARY

Conventionally, an information processing system which includes astationary information processing apparatus and a handheld informationprocessing apparatus and in which wireless communication is performedbetween these apparatuses is widely known. For example, a systemincluding a stationary game apparatus and a handheld game apparatus isdisclosed, and in the system, the handheld game apparatus transmits dataindicating the number of steps having been taken by a user in apredetermined time period (integrated data) to the stationary gameapparatus by wireless communication. In this system, while the handheldgame apparatus is located within a communicable range with thestationary game apparatus, when the handheld game apparatus receives anoperation indicating a transmission instruction from the user, thehandheld game apparatus transmits data indicating the number of steps tothe stationary game apparatus. Then, the stationary game apparatusperforms a process of displaying the content of the received data.

As described above, the conventional system is configured such that thehandheld game apparatus transmits information to the stationary gameapparatus after the user has made an operation, and then the stationarygame apparatus performs information processing for displaying thecontent of the data indicating the number of steps. Therefore, theconventional system has a problem in that it cannot perform informationprocessing by automatically determining that the user has returned afterhaving gone out with the handheld game apparatus and, which causes atroublesome operation for the user.

Therefore, a feature of the exemplary embodiment relates to providing aninformation processing system and an information processing method thatcan automatically perform predetermined information processing in such acase where a user returns home after having gone out with a handheldinformation processing apparatus. Another feature of the exemplaryembodiment relates to providing an information processing system and aninformation processing method in which, on a condition that the handheldinformation processing apparatus has gone out of the communicable rangewith the stationary information processing apparatus and has entered thecommunicable range again, the stationary information processingapparatus performs information processing based on this condition whenthe condition is satisfied, and thus can determine that the user hasreturned home.

(1) In order to realize the above features, the information processingsystem according to the exemplary embodiment includes a handheldinformation processing apparatus and a stationary information processingapparatus. The handheld information processing apparatus includes afirst communication section and a first determination section. Thestationary information processing apparatus includes a secondcommunication section, a second determination section, and aninformation processing section. Here, the first communication sectionperforms wireless communication with the stationary informationprocessing apparatus. The first determination section determines whetherthe wireless communication with the stationary information processingapparatus is possible. The second communication section performswireless communication with the handheld information processingapparatus. The second determination section determines whether thewireless communication with the handheld information processingapparatus is possible. The information processing section performspredetermined information processing, based on the determination by thesecond determination section, when the wireless communication with thehandheld information processing apparatus has become, after havingbecome disabled, enabled again.

According to the above configuration, in the stationary informationprocessing apparatus, the predetermined information processing isperformed when the wireless communication with the handheld informationprocessing apparatus has become, after having become disabled, enabledagain. Accordingly, for example, when the handheld informationprocessing apparatus has gone out of the communicable range with thestationary information processing apparatus, the stationary informationprocessing apparatus determines that the wireless communication with thehandheld information processing apparatus has become disabled. Then,when the handheld information processing apparatus has entered thecommunicable range with the stationary information processing apparatusagain, the stationary information processing apparatus determines thatthe communication with the handheld information processing apparatus hasbecome enabled again. Then, when it is determined that the communicationwith the handheld information processing apparatus has become enabledagain, the predetermined information processing is performed. Therefore,on the condition that when after having gone out of the communicablerange with the stationary information processing apparatus, the handheldinformation processing apparatus has entered the communicable rangeagain as a result of the user moving with the handheld informationprocessing apparatus (when the condition is satisfied), the stationaryinformation processing apparatus can perform information processingbased on this condition. Therefore, for example, in such a case wherethe user went out with the handheld information processing apparatus,and has returned home, the predetermined information processing can beperformed.

(2) As another configuration example of the exemplary embodiment, theinformation processing section may at least perform a process, as thepredetermined information processing, for announcing to a user thatafter having gone out of a wireless communication range with the secondcommunication section, the handheld information processing apparatus hasbecome located within the wireless communication range again. Accordingto this configuration, when the user has gone away from the location(for example, from the user's own house) at which the stationaryinformation processing apparatus is set, while carrying the handheldinformation processing apparatus and has approached the location again,the condition is satisfied that after having gone out of thecommunicable range with the stationary information processing apparatus,the handheld information processing apparatus has entered thecommunicable range again. Then, when this condition is satisfied, itbecomes possible to announce to a user of the stationary informationprocessing apparatus that after having gone out of the wirelesscommunication range with the second communication section (for example,after the user has gone out), the handheld information processingapparatus has become located within the wireless communication rangeagain (for example, the user has returned home).

(3) As another configuration example of the exemplary embodiment, thehandheld information processing apparatus may further include a numberof steps measuring section and a number-of-steps data storage section.Here, the number-of-steps data storage section stores number-of-stepsdata obtained by the number of steps measuring section. Then, based onthe determination by the first determination section, when the wirelesscommunication with the stationary information processing apparatus hasbecome, after having become disabled, enabled again, the firstcommunication section may transmit the number-of-steps data to thestationary information processing apparatus. Further, the informationprocessing section may perform the predetermined information processingwhen the number of steps indicated by the number-of-steps data satisfiesa predetermined criterion.

According to the above configuration, the predetermined informationprocessing is performed only when the number of steps indicated by thenumber-of-steps data satisfies the predetermined criterion. Here, thenumber-of-steps data indicates the number of steps of the user carryingthe handheld information processing apparatus, that is, the movementamount of the user. Therefore, when the number-of-steps data satisfiesthe predetermined criterion, it is highly possible that the cause of thestationary information processing apparatus having become, after thecommunication with the handheld information processing apparatus hasbeen disabled, able to communicate with the handheld informationprocessing apparatus again, is that after having gone out of thecommunicable range with the stationary information processing apparatus,the handheld information processing apparatus has entered thecommunicable range again. Accordingly, the predetermined informationprocessing is performed only when the number of steps indicated by thenumber-of-steps data satisfies the predetermined criterion. Therefore,in a case where after having become unable to communicate with thehandheld information processing apparatus due to other reasons such asdeterioration of communication condition, the stationary informationprocessing apparatus has become able to communicate with the handheldinformation processing apparatus again, the predetermined informationprocessing is not allowed to be performed. In this manner, effectivedetermination of the condition that the user has returned home can beperformed.

(4) As another configuration example of the exemplary embodiment, theinformation processing section may perform the predetermined informationprocessing when the number of steps indicated by the number-of-stepsdata is greater than a predetermined number. Here, when the number ofsteps indicated by the number-of-steps data is greater than thepredetermined value, it means that the amount of the movement of theuser carrying the handheld information processing apparatus is large.Therefore, in this case, it is highly possible that the stationaryinformation processing apparatus has become, after having become unableto communicate with the handheld information processing apparatus, ableto communicate with the handheld information processing apparatus again,because the handheld information processing apparatus has entered, afterhaving gone out of the communicable range with the stationaryinformation processing apparatus, the communicable range again.According to the above configuration, the predetermined informationprocessing is performed when the number of steps indicated by thenumber-of-steps data is greater than the predetermined number. This caneffectively prevent an erroneous detection from being performed, in sucha case where after having become unable to communicate with the handheldinformation processing apparatus due to deterioration of thecommunication condition, the stationary information processing apparatushas become able to communicate with the handheld information processingapparatus again, which is not the case where the user has returned home.

(5) As another configuration example of the exemplary embodiment, thenumber of steps measuring section may reset the number-of-steps datastored in the number-of-steps data storage section, after thetransmission of the number-of-steps data by the first communicationsection has been completed. Here, the number-of-steps data is used forobtaining the movement amount of the user during the time period whenthe handheld information processing apparatus has been unable tocommunicate with the stationary information processing apparatus.Therefore, after the number-of-steps data is transmitted after thestationary information processing apparatus has become able tocommunicate with the handheld information processing apparatus again,the value indicated by the number-of-steps data becomes useless. In theabove configuration, since the number-of-steps data is reset at thetiming of this transmission, it is possible to prevent the value of thenumber-of-steps data from increasing without limitation, and to resetthe value of the number-of-steps data at an appropriate timing.

(6) As another configuration example of the exemplary embodiment, theinformation processing section may measure an elapsed time since thewireless communication with the handheld information processingapparatus has become disabled, and may perform the predeterminedinformation processing when an elapsed time at a time when the wirelesscommunication with the handheld information processing apparatus hasbecome enabled again satisfies a predetermined criterion. According tothis configuration, the predetermined process is performed only when anelapsed time at a time when the wireless communication with the handheldinformation processing apparatus has become, after having been disabled,enabled again satisfies the predetermined criterion. That is, thepredetermined process is performed only when the elapsed time satisfiesa predetermined criterion, or the predetermined process is performedonly when the elapsed time satisfies a predetermined criterion and thenumber-of-steps data satisfies a predetermined criterion. Accordingly, aconfiguration may be employed in which when the elapsed time is greaterthan a criterion value, the predetermined process is performed.Alternatively, a configuration may be employed in which when the elapsedtime is less than the criterion value but the number-of-steps data isgreater than a criterion value, an exceptional process is performed,considering that the user dishonestly increased the value of thenumber-of-steps data by vigorously shaking the handheld informationprocessing apparatus, and the like. Accordingly, it is possible toeffectively prevent an erroneous detection.

(7) As another configuration example of the exemplary embodiment, theinformation processing section may perform the predetermined informationprocessing when the elapsed time is greater than a value of thepredetermined criterion. Here, in a case where the elapsed time at atime when the wireless communication with the handheld informationprocessing apparatus has become, after having been disabled, enabledagain is less than or equal to a criterion value, it is highly possiblethat the handheld information processing apparatus has been unable tocommunicate with the stationary information processing apparatus due totemporal deterioration of the communication condition. According to thisconfiguration, when the elapsed time is greater than the value of thepredetermined criterion, the predetermined information processing isperformed. Therefore, it is effectively prevent an erroneous detectionfrom being performed when the handheld information processing apparatushas been unable to communicate with the stationary informationprocessing apparatus due to such a cause as temporal deterioration ofthe communication condition.

(8) As another configuration example of the exemplary embodiment, thefirst communication section may further perform communication withanother apparatus while the communication with the stationaryinformation processing apparatus is not being performed. Then, thehandheld information processing apparatus may further include an otherapparatus data storage section for storing other apparatus data obtainedthrough the communication with the other apparatus. The firstcommunication section may further transmit the other apparatus data tothe stationary information processing apparatus. According to thisconfiguration, during the time period when the handheld informationprocessing apparatus is located outside the communicable range with thestationary information processing apparatus, the handheld informationprocessing apparatus can obtain other apparatus data throughcommunication with the other apparatus. Then, when the handheldinformation processing apparatus has become able to communicate with thestationary information processing apparatus again, the other apparatusdata is transmitted to the stationary information processing apparatus.Accordingly, the stationary information processing apparatus can obtaininformation from the other apparatus that is not in its own wirelesscommunication range, and in addition, can obtain other apparatus datathat the handheld information processing apparatus has obtained duringthe time period when the handheld information processing apparatus hasbeen located outside the communicable range with the stationaryinformation processing apparatus.

(9) As another configuration example of the exemplary embodiment, theother apparatus may be a wireless access point set at a predeterminedlocation. The other apparatus data may be location information regardingthe location at which the access point is set. The informationprocessing section may perform the predetermined information processingwhen the location information satisfies a predetermined criterion. Here,in order to receive the other apparatus data from the access point, thehandheld information processing apparatus has to be located at adistance that allows wireless communication with the access point.Therefore, the other apparatus data indicating the location at which theaccess point is set, which is received from the access point, indicatesthe movement amount of the handheld information processing apparatus.According to the above configuration, when the other apparatus dataindicating the movement amount of the handheld information processingapparatus satisfies a predetermined criterion, the predeterminedinformation processing is performed. Therefore, it is possible toeffectively prevent an erroneous detection from being performed.

(10) As another configuration example of the exemplary embodiment, theother apparatus may be another handheld information processingapparatus. The other apparatus data may be information processing dataobtained from the other handheld information processing apparatus. Theinformation processing section may perform the predetermined informationprocessing based on the information processing data. According to thisconfiguration, the handheld information processing apparatus cantransmit the information processing data obtained by receiving form theother handheld information processing apparatus, to the stationaryinformation processing apparatus. Then, the stationary informationprocessing apparatus performs the predetermined information processingbased on the received information processing data. Accordingly, thepredetermined information processing can be performed based on the otherapparatus data that the handheld information processing apparatusobtained from the other handheld information processing apparatus duringthe time period when the handheld information processing apparatus islocated outside the communicable range with the stationary informationprocessing apparatus. For example, in a case where the other apparatusdata indicates information of the handheld information processingapparatus that is the source of the other apparatus data, if thestationary information processing apparatus announces the informationindicated by the other apparatus data, it is possible to allow the userof the stationary information processing apparatus to know theinformation of the other handheld information processing apparatus thatthe user of the handheld information processing apparatus has passed.

(11) As another configuration example of the exemplary embodiment, thestationary information processing apparatus and the handheld informationprocessing apparatus may be a stationary game apparatus and a handheldgame apparatus, respectively, which each perform game processing.According to this configuration, the handheld game apparatus is readilycarried by the user in order to perform a game while the user is out.Moreover, the predetermined information processing can be performedwhile the user of the stationary game apparatus is playing a game.

(12) As another configuration example of the exemplary embodiment, thestationary game apparatus may further include a network connectionsection, a game data obtaining section, and a game data storage section.Here, the network connection section connects to an external network.The game data obtaining section obtains game data via the externalnetwork. The game data storage section stores the game data obtained bythe game data obtaining section. The information processing section maytransmit the game data via the second communication section to thehandheld game apparatus. According to this configuration, even in astate where the handheld information processing apparatus is unable tocommunicate with an external network (for example, in a case where thehandheld information processing apparatus does not include the functionof communicating with an external network), the handheld informationprocessing apparatus can obtain game data from an external network anduse the game data in a game processing.

(13) As another configuration example of the exemplary embodiment, thehandheld information processing apparatus may further include anacceleration sensor. The number of steps measuring section may detectthe number of steps based on an acceleration detected by theacceleration sensor. According to this configuration, it is possible tomeasure the number of steps of the user by use of the accelerationsensor which is used by the handheld information processing apparatus inthe game processing.

(14) In order to realize the above features, an information processingmethod according to the exemplary embodiment includes a firstcommunication step, a first determination step, a second communicationstep, a second determination step, and an information processing step.Here, in the first communication step, a handheld information processingapparatus performs wireless communication with a stationary informationprocessing apparatus by use of a first communication section of thehandheld information processing apparatus. In the first determinationstep, the handheld information processing apparatus determines whetherthe wireless communication with the stationary information processingapparatus is possible. In the second communication step, the stationaryinformation processing apparatus performs wireless communication withthe handheld information processing apparatus by use of a secondcommunication section of the stationary information processingapparatus. In the second determination step, the stationary informationprocessing apparatus determines whether the wireless communication withthe handheld information processing apparatus is possible. In theinformation processing step, the stationary information processingapparatus performs predetermined information processing, based on thedetermination in the second determination step, when the wirelesscommunication with the handheld information processing apparatus hasbecome, after having become disabled, enabled again. This configurationprovides the same functions and effects as those provided by theinformation processing system in (1).

(15) As another configuration example of the exemplary embodiment, theinformation processing section may at least perform a process, as thepredetermined information processing, for announcing to a user thatafter having gone out of a wireless communication range with the secondcommunication section, the handheld information processing apparatus hasbecome located within the wireless communication range again. Thisconfiguration provides the same functions and effects as those providedby the information processing system in (2).

(16) As another configuration example of the exemplary embodiment, theinformation processing method may further include a number-of-steps datastoring step of the handheld information processing apparatus storingnumber-of-steps data obtained by a number of steps measuring section ofthe handheld information processing apparatus. The informationprocessing method may further include a step of the handheld informationprocessing apparatus transmitting the number-of-steps data to thestationary information processing apparatus by use of the firstcommunication section, based on the determination by the firstdetermination section, when the wireless communication with thestationary information processing apparatus has become, after havingbecome disabled, enabled again. In addition, in the informationprocessing step, the stationary information processing apparatus mayperform the information processing when the number of steps indicated bythe number-of-steps data satisfies a predetermined criterion. Thisconfiguration provides the same functions and effects as those providedby the information processing system in (3).

(17) As another configuration example of the exemplary embodiment, inthe information processing step, the stationary information processingapparatus performs the predetermined information processing when thenumber of steps indicated by the number-of-steps data is greater than apredetermined number. This configuration provides the same functions andeffects as those provided by the information processing system in (4).

(18) As another configuration example of the exemplary embodiment, theinformation processing method further includes a step of the handheldinformation processing apparatus resetting the number-of-steps datastored in the number-of-steps data storing step, after the transmissionof the number-of-steps data by the first communication section has beencompleted. This configuration provides the same functions and effects asthose provided by the information processing system in (5).

(19) As another configuration example of the exemplary embodiment,according to the information processing method, in the informationprocessing step, the stationary information processing apparatusmeasures an elapsed time since the wireless communication with thehandheld information processing apparatus has become disabled, andperforms the predetermined information processing when an elapsed timeat a time when the wireless communication with the handheld informationprocessing apparatus has become enabled again satisfies a predeterminedcriterion. This configuration provides the same functions and effects asthose provided by the information processing system in (6).

(20) As another configuration example of the exemplary embodiment,according to the information processing method, in the informationprocessing step, the stationary information processing apparatusperforms the predetermined information processing when the elapsed timeis greater than a value of the predetermined criterion. Thisconfiguration provides the same functions and effects as those providedby the information processing system in (7).

(21) As another configuration example of the exemplary embodiment, theinformation processing method may further include a step of the handheldinformation processing apparatus communicating with another apparatus byuse of the first communication section while the communication with thestationary information processing apparatus is not being performed. Inaddition, the information processing method may further include an otherapparatus data storing step of the handheld information processingapparatus storing other apparatus data obtained through thecommunication with the other apparatus. Further, the handheldinformation processing apparatus may further include a step of thehandheld information processing apparatus transmitting the otherapparatus data to the stationary information processing apparatus by useof the first communication section. This configuration provides the samefunctions and effects as those provided by the information processingsystem in (8).

(22) As another configuration example of the exemplary embodiment, inthe information processing method, the other apparatus may be a wirelessaccess point set at a predetermined location. In addition, in theinformation processing method, the other apparatus data may be locationinformation regarding the location at which the access point is set. Inaddition, in the information processing step, the stationary informationprocessing apparatus may perform the predetermined informationprocessing when the location information satisfies a predeterminedcriterion. This configuration provides the same functions and effects asthose provided by the information processing system in (9).

(23) As another configuration example of the exemplary embodiment, inthe information processing method, the other apparatus may be anotherhandheld information processing apparatus. The other apparatus data maybe information processing data obtained from the other handheldinformation processing apparatus. In the information processing step,the stationary information processing apparatus may perform thepredetermined information processing based on the information processingdata. This configuration provides the same functions and effects asthose provided by the information processing system in (10).

(24) As another configuration example of the exemplary embodiment, inthe information processing method, the stationary information processingapparatus and the handheld information processing apparatus may be astationary game apparatus and a handheld game apparatus, respectively,which each perform game processing. This configuration provides the samefunctions and effects as those provided by the information processingsystem in (11).

(25) As another configuration example of the exemplary embodiment, theinformation processing method may further include a network connectingstep, a game data obtaining step, a game data storing step, and a gamedata transmitting step. Here, in network connecting step, the stationarygame apparatus connects to an external network. In the game dataobtaining step, the stationary game apparatus obtains game data via theexternal network. In the game data storing step, the stationary gameapparatus stores the game data obtained in the game data obtaining step.In the game data transmitting step, the information processing sectiontransmits the game data via the second communication section to thehandheld game apparatus. This configuration provides the same functionsand effects as those provided by the information processing system in(12).

(26) As another configuration example of the exemplary embodiment,according to the information processing method, the handheld informationprocessing apparatus may further include an acceleration sensor. Inaddition, the information processing method may include a step of thehandheld information processing apparatus detecting, by use of thenumber of steps measuring section, the number of steps based on anacceleration detected by the acceleration sensor. This configurationprovides the same functions and effects as those provided by theinformation processing system in (13).

According to the exemplary embodiment, the predetermined informationprocessing is performed when the stationary information processingapparatus has become, after having been unable to communicate with thehandheld information processing apparatus, able to wirelesslycommunicate with the handheld information processing apparatus again.Therefore, on a condition that the handheld information processingapparatus has entered, after having gone out of the communicable rangewith the stationary information processing apparatus, the communicablerange again (when this condition is satisfied), the stationaryinformation processing apparatus can perform the information processingin accordance with this condition. Therefore, at a timing when thehandheld information processing apparatus has entered, after having goneout of the communicable range with the stationary information processingapparatus, the communicable range again, the stationary informationprocessing apparatus can perform information processing by use of theinformation that the handheld information processing apparatus hasentered, after having gone out of the communicable range with thestationary information processing apparatus, the communicable rangeagain. For example, it is possible to perform information processing,automatically responding to the user's returning home, thereby allowingto possible to provide the user with a highly entertaining processresult.

These and other features, aspects and advantages of the certainexemplary embodiments will become more apparent from the followingdetailed description of the certain exemplary embodiments when taken inconjunction with the accompanying drawings.

BRIEF DESCRIPTION OF THE DRAWINGS

FIG. 1 shows a non-limiting exemplary configuration of a return homenotification system according to an exemplary embodiment;

FIG. 2 shows a non-limiting example of a screen of a game systemdisplaying a notification of a user's returning home;

FIG. 3 shows a non-limiting example of a game system and a handheldterminal, and another communication apparatus with which the game systemand the handheld terminal communicate;

FIG. 4 is an external view of a non-limiting exemplary game system;

FIG. 5 is a block diagram of a non-limiting exemplary configuration of agame apparatus;

FIG. 6A is a memory map showing a non-limiting example of a program anddata stored in an internal main memory and/or an external main memory;

FIG. 6B shows a non-limiting example of a user terminal table;

FIG. 6C shows a non-limiting example of an at-home terminal table;

FIG. 6D shows a non-limiting example of a communication-disabledterminal table;

FIG. 7 is an external view of a non-limiting exemplary handheldterminal;

FIG. 8 is a block diagram showing a non-limiting example of an internalconfiguration of a non-limiting exemplary handheld terminal;

FIG. 9 is a memory map showing a non-limiting example of a program anddata stored in a main memory;

FIG. 10A is a communication sequence diagram showing a non-limitingexample of communication performed between a game apparatus and ahandheld terminal in an at-time-of-communication-resumption process;

FIG. 10B shows a non-limiting example of a terminal beacon frame;

FIG. 10C shows a non-limiting example of a movement information requestframe;

FIG. 10D shows a non-limiting example of a movement information frame;

FIG. 10E shows a non-limiting example of movement information;

FIG. 10F shows a non-limiting example of a service information frame;

FIG. 10G shows a non-limiting example of a passing information frame;

FIG. 11A shows a non-limiting example of passing communication;

FIG. 11B shows a non-limiting example of an information frame;

FIG. 12A is a communication sequence diagram showing a non-limitingexample of communication between an access point and a handheldterminal;

FIG. 12B shows a non-limiting example of an AP beacon frame;

FIG. 13 is a flowchart showing a non-limiting example of a stationaryapparatus side return home notification process performed by a CPU of agame apparatus;

FIG. 14 is a flowchart showing a non-limiting example of anat-time-of-communication-resumption process;

FIG. 15 is a flowchart showing a non-limiting example of a return homedetermination process;

FIG. 16 is a flowchart (No. 1) showing a non-limiting example of ahandheld terminal side return home notification process;

FIG. 17 is a flowchart (No. 2) showing a non-limiting example of ahandheld terminal side return home notification process;

FIG. 18 is a flowchart showing a non-limiting example of a transmissionand reception process; and

FIG. 19 is a flowchart showing a non-limiting example of anumber-of-steps counting process.

DETAILED DESCRIPTION OF NON-LIMITING EXAMPLE EMBODIMENTS

(Configuration of Return Home Notification System)

Hereinafter, a basic configuration of a return home notification systemaccording to an exemplary embodiment will be described with reference toFIG. 1. FIG. 1 shows a non-limiting exemplary configuration of a returnhome notification system according to the exemplary embodiment. A returnhome notification system 1 includes a stationary game system 100 and ahandheld game apparatus 200 (hereinafter referred to as “handheldterminal 200”), and the stationary game system 100 and the handheldterminal 200 can transmit and receive data to and from each otherthrough wireless communication. The game system 100 is set at a fixedlocation in a user's house or the like and is not assumed to be moved bybeing carried by the user. On the other hand, the handheld terminal 200is configured to be able to be moved by being carried by the user. Thelocation at which the game system 100 is set is not limited to theuser's house, and may be another indoor place such as an office or anoutdoor place.

A feature of the exemplary embodiment is that while the handheldterminal 200 continues to be able to wirelessly communicate with thegame system 100, the game system 100 determines that the handheldterminal 200 continues to be located within a range where wirelesscommunication therebetween is possible (communicable range), that is,the user of the handheld terminal 200 is near the game system 100 (forexample, being at home). Then, when the handheld terminal 200 has becomeable to, after having become unable to communicate with the game system100, communicate the game system 100 again, the game system 100determines that the handheld terminal 200 which went out of thecommunicable range has returned, that is, the user of the handheldterminal 200 has returned to a place near the game system 100 (forexample, the user has returned home). Then, the game system 100 performsinformation processing in accordance with the return of the user of thehandheld terminal 200 (returning home). This information processing is,for example, a process for announcing to (notifying) a user near thelocation of the game system 100 (another user staying at home, forexample, a user performing a game using the game system 100) that theuser has returned (returning home). It should be noted that “the userhas returned” is not limited to that “the user has returned to his orher own house”. However, hereinafter, description will be given of anexemplary embodiment in which that “the user has returned to his or herown house” is determined and announced. Hereinafter, with reference toFIG. 2, an example of a method for announcing that “the user hasreturned to his or her own house” will be described.

FIG. 2 shows a non-limiting example of a screen of the game system 100displaying a notification of the user's returning home. With referenceto FIG. 2, “the user (xxx) has returned home!” is displayed on thescreen of the game system 100, with the user name (xxx) of the handheldterminal 200 displayed. It should be noted that in order to display theuser name, a setting registration is needed to be performed in advance(before the above described returning-home/being-at-home determinationis performed). However, without performing the setting registration inadvance, “returned home!” may be displayed without specifying the username. In the exemplary embodiment, the returning home of the user of thehandheld terminal 200 is announced by means of the display on the screenof the game system 100. However, any method may be used as long as thereturning home of the user can be announced. For example, the returninghome of the user may be announced by a method in which the game system100 outputs a sound or lights a lamp (a marker 108 or the like describedbelow), or the like. Further, in the exemplary embodiment, the returninghome is announced to a different user than the user of the handheldterminal 200 (that is, another user staying at home). However, aconfiguration may be employed in which, for example, a return homemessage such as “Hello, xxx!” is shown to the user of the handheldterminal 200.

In the exemplary embodiment, the game system 100 performs a process ofdetermining whether the handheld terminal 200 is at home or has returnedhome and announcing the returning home of the handheld terminal 200,only in a state where the power is on (hereinafter referred to as“stationary apparatus side return home notification process”). However,the game system 100 may perform the stationary apparatus side returnhome notification process while being in a low-power stand-by mode(power-saving state in which power is supplied only to a part ofcomponents).

As described above, when the handheld terminal 200 has returned afterhaving gone out of the communicable range with the game system 100 (whenthe handheld terminal 200 has become able to, after becoming unable to,communicate with the game system 100), the return home notificationsystem 1 determines that the user of the handheld terminal 200 hasreturned home. Therefore, it is preferable that the communicable rangebetween the handheld terminal 200 and the game system 100 substantiallycoincides with or is slightly greater than the area of the user's ownhouse. Therefore, in the exemplary embodiment, the handheld terminal 200and the game system 100 wirelessly communicate with each other by meansof short-range wireless communication (for example, wirelesscommunication whose communicable distance is 10 to 30 m). However, thecommunicable distance is not limited to 10 to 30 m, and may be shorteror longer than this. Moreover, the exemplary embodiment is configuredsuch that the handheld terminal 200 and the game system 100 performwireless communication with each other in an ad-hoc mode (directcommunication not via access points). However, the handheld terminal 200and the game system 100 may communicate with each other in aninfrastructure mode (via access points).

Further, as another feature of the exemplary embodiment, the game system100 does not determine that the user of the handheld terminal 200 hasreturned home, only on a condition that the handheld terminal 200 hasbecome able to, after having become unable to communicate once,communicate again. The game system 100 also uses another factorregarding the handheld terminal 200 (hereinafter referred to as “returnhome determination factor”) to determine the user's returning home. Thatis, only when the return home determination factor satisfies apredetermined criterion, it is determined that the user of the handheldterminal 200 has returned home, and a process for informing thereturning home of the user is performed. The reason for this is asfollows. In a case where the game system 100 is configured to determinethe returning home of the user of the handheld terminal 200 only on thecondition that the handheld terminal 200 has become, after having becomeunable to communicate once, able to communicate again, if the user turnsoff the power of the handheld terminal 200 once and then turns it onwhile the user is at home, or if the user has moved to a place withinthe house where the radio wave from the game system 100 is difficult toreach (when communication condition is bad), it may erroneously bedetermined that the user went out of the house and has returned home.Therefore, in the exemplary embodiment, the return home determinationfactor that indicates whether the user has moved or not is also used indetermination of the user's returning home, thereby effectivelypreventing erroneous determination.

Hereinafter, with reference to FIG. 3, another feature of the exemplaryembodiment will be described. FIG. 3 shows a non-limiting example of thegame system 100 and the handheld terminal 200, and another communicationapparatus with which the game system 100 and the handheld terminal 200communicate. While being located within the radio wave coverage of anaccess point 2 fixedly set at an outside place, the handheld terminal200 receives information from the access point 2 (hereinafter referredto as “access point location information”). The access point locationinformation (corresponds to an example of “other apparatus data”according to the certain exemplary embodiments) is informationindicating the location at which the access point 2 is set. In thisexemplary embodiment, the access point location information is also usedas the return home determination factor. That is, when the handheldterminal 200 becomes able to communicate with the game system 100 againand connection with the game system 100 has been established, thehandheld terminal 200 transmits the access point location information tothe game system 100. Then, when the location indicated by the accesspoint location information from the handheld terminal 200 and thelocation of the game system 100 is separated by a predetermined distanceor more, the game system 100 determines that the user of the handheldterminal 200 has returned home.

Further, the handheld terminal 200 includes a number-of-steps measuringfunction, and measures the number of steps of the user of the handheldterminal 200. In the exemplary embodiment, the measured number of stepsof the user is used as the return home determination factor.Specifically, when the handheld terminal 200 has become able tocommunicate with the game system 100 again and communication with thegame system 100 has been established, the handheld terminal 200transmits number-of-steps data indicating the measured number of stepsto the game system 100. Then, based on the number of steps indicated bythe number-of-steps data received from the handheld terminal 200, thegame system 100 calculates the number of steps taken by the user duringthe period while the communication was disabled. If the number of stepsis greater than a predetermined threshold value (hereinafter referred toas “threshold value w1”), it is determined that the user of the handheldterminal 200 went out and has returned home.

Further, the game system 100 measures an elapsed time from the time whenthe handheld terminal 200 went out of the communicable range (from thetime communication became disabled) to the time when the handheldterminal 200 has returned to be included in the communicable range (whencommunication has become enabled again). Then, the game system 100 usesthis elapsed time as the return home determination factor. In theexemplary embodiment, even in a case where the number of stepscalculated based on the above number-of-steps data is less than or equalto the threshold value w1, if the elapsed time is greater than apredetermined value, and if the number of steps calculated based on theabove number-of-steps data is greater than a threshold value w2 (thethreshold value w2<the threshold value w1), the game system 100determines that the user of the handheld terminal 200 has returned home.It should be noted that, instead of or in addition to the aboveconfiguration, the following configuration may be employed: in a casewhere the elapsed time is less than a predetermined value, if the numberof steps calculated based on the above number-of-steps data is greaterthan a predetermined threshold value, it is considered that the user hasdishonestly increased the number-of-steps data by, for example,vigorously shaking the handheld terminal 200 with a hand, and thus thegame system 100 determines that it is not the case where the user of thehandheld terminal 200 went out and has returned home.

As described above, in the exemplary embodiment, the game system 100determines returning home of the user who uses the handheld terminal200, in consideration of the return home determination factor.Therefore, in the exemplary embodiment, it is possible to eliminate thedisadvantage that although the user of the handheld terminal 200 isactually at home, the returning home of the user is erroneouslydetermined by the game system 100 and announcement thereof is made.

Further, the exemplary embodiment has the following feature. That is,the game system 100 is connected to an external network 3 such as theInternet, and downloads service information periodically andautomatically from a server 4 connected so as to be able to communicatewith the game system 100 via the external network 3. The serviceinformation includes, for example, game data used to execute a gameapplication on the game system 100 and/or the handheld terminal 200. Thegame data includes, for example, data of items that can be used in agame, data of works that won prizes at contests which invited publicparticipation of users (work data). The work data is, for example, mapdata generated by execution of a map edit application, and the map dataindicates, for example, a map such as a racing course for a racing game,and is used by a racing game application.

Upon determining that the user of the handheld terminal 200 has returnedhome, the game system 100 transmits the service information to thehandheld terminal 200. Accordingly, the handheld terminal 200 can obtainat a latest timing the service information accumulated in the gamesystem 100 while the user is not at home.

As still another feature of the exemplary embodiment, the handheldterminal 200 can perform wireless communication in an ad-hoc mode withother handheld terminals 200 of the same type (hereinafter referred toas “passing communication”), and can transmit and receive information(hereinafter referred to as “passing information”) with said otherhandheld terminals 200. The passing information (corresponding to anexample of “other apparatus data” according to the certain exemplaryembodiments) includes, for example, information of characters (avatarand the like) generated by the users of the handheld terminals 200executing a predetermined character edit application, and informationfor identifying an application most immediately used by a handheldterminal 200.

Then, upon determining that the user of the handheld terminal 200 hasreturned home, the game system 100 requests the handheld terminal 200 totransmit the passing information received from said other handheldterminals 200. Accordingly, the game system 100 can obtain at the latesttiming the passing information obtained by the handheld terminal 200while having been out. It should be noted that, at this time, thehandheld terminal 200 may transmit to the game system 100 imagescaptured by a built-in camera (an inner camera 223 and an outer camera225 described below with reference to FIG. 8) included in the handheldterminal 200, in addition to the passing information. The game system100 performs a process of displaying the received passing information orthe received captured images on the screen of the game system 100.

Further, the game system 100 transmits the passing information receivedfrom the handheld terminal 200 to the server 4. Accordingly, the server4 can easily obtain the passing information, and can generate statisticdata based on the passing information. The statistic data is used by anadministrator of the server 4 and the statistic data may be distributedto the game system 100 as service information.

It should be noted that each of FIG. 1 shows only one handheld terminal200. However, in the exemplary embodiment, the return home notificationsystem 1 includes a plurality of the handheld terminals 200 andreturning home of the users of the handheld terminals 200 aredetermined. However, the return home notification system 1 may includeonly one handheld terminal 200 and returning home of the only onehandheld terminal 200 may be determined.

(Overall Configuration of the Game System 100)

With reference to FIG. 4, the game system 100 will be described. FIG. 4is an external view of a non-limiting example of the game system 100. Asshown in FIG. 4, the game system 100 includes a television receiver(hereinafter, referred to simply as a “television”) 102, a stationarygame apparatus 103 (corresponding to a non-limiting example of the“stationary information processing apparatus” according to the certainexemplary embodiments), an optical disc 104, a controller 107, and amarker section 108. In the present system 100, a game process isexecuted on the game apparatus 103 in accordance with a game operationusing the controller 107.

Into the game apparatus 103, the optical disc 104, which typifies aninformation storage medium and is exchangeable with respect to the gameapparatus 103, is detachably inserted. In the optical disc 104, the gameprogram executed on the game apparatus 103 is stored. The game apparatus103 has, on the front surface thereof, an opening through which theoptical disc 104 is inserted. The game processing is executed on thegame apparatus 103 by reading and executing the game program stored inthe optical disc 104 which is inserted in the game apparatus 103 throughthe opening.

The game apparatus 103 is connected via a connection cord to thetelevision 102 typifying a display device. The television 102 displays agame image generated through the game processing executed on the gameapparatus 103, and at the same time, a sound relating to the game isoutputted from two speakers 102 a of the television 102. Further, themarker section 108 is provided in the vicinity of the screen of thetelevision 102 (on the top surface of the screen shown in FIG. 4). Themarker section 108 includes two markers, a marker 108R and a marker108L, at both ends thereof. Specifically, each of the markers 108R and108L includes at least one infrared LED, and outputs infrared lightforward from the television 102. The marker section 108 is connected tothe game apparatus 103, and the game apparatus 103 is capable ofcontrolling each infrared LED included in the marker section 108 so asto be lit up.

The controller 107 includes a housing 1071 and a plurality of operationbuttons 1072 provided on a surface of the housing 1071, and supplies, tothe game apparatus 103, operation data representing a content of anoperation performed therein. The controller 107 is connected to the gameapparatus 103 by wireless communication. In the exemplary embodiment,for example, the Bluetooth (registered trademark) technology is used forthe wireless communication between the controller 107 and the gameapparatus 103. In another exemplary embodiment, the controller 107 andthe game apparatus 103 may communicate with each other by a wiredconnection.

(Internal Configuration of the Game Apparatus 103)

Subsequently, with reference to FIG. 5, an internal configuration of thegame apparatus 103 will be described. FIG. 5 is a block diagramillustrating a non-limiting exemplary configuration of the gameapparatus 103. The game apparatus 103 includes a CPU 110, a system LSI111, an external main memory 112, a ROM/RTC 113, a disc drive 114, anAV-IC 115, and the like.

The CPU 110, serving as a game processor, executes the game programstored in the optical disc 104 so as to perform the game processing. TheCPU 110 is connected to the system LSI 111. In addition to the CPU 110,the external main memory 112, the ROM/RTC 113, the disc drive 114, andthe AV-IC 115 are also connected to the system LSI 111. The system LSI111 performs processing such as control of data transmission betweenrespective components connected thereto, generation of an image to bedisplayed, and acquisition of data from an external apparatus. Aninternal configuration of the system LSI 111 will be described below.The external main memory 112, which is of a volatile type, stores a gameprogram read from the optical disc 104 or a flash memory 117, programs,such as a stationary apparatus side return home notification programdescribed below, and various data, and is used as a work area and abuffer area for the CPU 110. The ROM/RTC 113 includes a ROM (so-calledboot ROM) incorporating a program for booting the game apparatus 103,and a clock circuit (RTC: real time clock) for counting time. The discdrive 114 reads, from the optical disc 104, program data, texture dataand the like, and writes the read data into an internal main memory 111e described below or the external main memory 112.

Provided in the system LSI 111 are an input/output processor (I/Oprocessor) 111 a, a GPU (Graphics Processor Unit) 111 b, a DSP (DigitalSignal Processor) 111 c, a VRAM 111 d, and the internal main memory 111e. These components 111 a to 111 e are connected to each other via aninternal bus which is not shown.

The GPU 111 b, which is a part of rendering means, generates an image inaccordance with a graphics command (draw command) from the CPU 110. Morespecifically, the GPU 111 b performs, in accordance with the graphicscommand, computing processing required for displaying 3D graphics, forexample, processing of coordinate conversion from 3D coordinates into 2Dcoordinates which is performed prior to rendering, and processing ofrendering such as attaching texture, thereby generating game image data.In addition to the graphics command, the CPU 110 provides the GPU 111 bwith an image generation program required for generating the game imagedata. The VRAM 111 d stores therein data (such as polygon data andtexture data) necessary for the GPU 111 b to execute the graphicscommand. When an image is to be generated, the GPU 111 b generates imagedata by using the data stored in the VRAM 111 d.

The DSP 111 c functions as an audio processor, and generates audio datausing sound data and sound waveform (tone color) data which are storedin the internal main memory 111 e and the external main memory 112. Likethe external main memory 112, the internal main memory 111 e stores aprogram and various data, and is used as a work area and a buffer areafor the CPU 110.

The image data and the audio data generated as described above are readby the AV-IC 115. The AV-IC 115 outputs the read image data to thetelevision 102 via an AV connector 116, and also outputs the read audiodata to a speaker 102 a of the television 102. Thus, an image isdisplayed on the television 102, and a sound is outputted from thespeaker 102 a.

The I/O processor 111 a executes data reception and transmission betweenthe components connected thereto and download of data from an externalapparatus. The I/O processor 111 a is connected to the flash memory 117,a wireless communication module 118, a wireless controller module 119,an extension connector 120, and a memory card connector 121. To thewireless communication module 118, an antenna 122 is connected, and tothe wireless controller module 119, an antenna 123 is connected.

The I/O processor 111 a can perform wireless communication betweenanother communication apparatus via the wireless communication module118 and the antenna 122. For example, the I/O processor 111 a canperform wireless communication with the handheld terminal 200 in anad-hoc mode (directly, not via an access point). Further, the I/Oprocessor 111 a can be connected to the external network 3 via awireless LAN router not shown (see FIG. 3) and can communicate withother game apparatuses and various servers (including the server 4)connected to the external network 3. The I/O processor 111 a accessesthe flash memory 117 at regular time intervals so as to detect presenceor absence of data which is required to be transmitted to the externalnetwork 3. When such data is present, the data is transmitted to theexternal network 3 via the wireless communication module 118 and theantenna 122. Further, when receiving the passing information from thehandheld terminal 200, the I/O processor 111 a transmits the passinginformation to the server 4 in accordance with an instruction from theCPU 110.

Further, the I/O processor 111 a receives, via the network 3, thewireless LAN router not shown, the antenna 122 and the wirelesscommunication module 118, data transmitted from another game apparatusor data downloaded from the above various servers (including the aboveservice information), and stores the received data in the flash memory117. The CPU 110 executes the game program to read the data stored inthe flash memory 117, thereby using the read data on the game program.The flash memory 117 may store not only the data transmitted andreceived between the game apparatus 103 and another game apparatus orvarious servers, but also saved data (result data or intermediate stepdata of the game) of a game played with the game apparatus 103.

The CPU 110 performs the above described stationary apparatus sidereturn home notification process by use of the I/O processor 111 a. Thestationary apparatus side return home notification process will bedescribed in detail below.

Further, the I/O processor 111 a receives the operation data transmittedfrom the controller 107, via the antenna 123 and the wireless controllermodule 119, and (temporarily) stores the operation data in a buffer areaof the internal main memory 111 e or the external main memory 112.

Further, the extension connector 120 and the memory card connector 121are connected to the I/O processor 111 a. The extension connector 120 isan interface connector as typified by a USB and an SCSI, and is capableof performing communication with the network, instead of the wirelesscommunication module 118, by connecting thereto a medium such as anexternal storage medium, a peripheral device such as another controller,or a wired communication connector. That is, the transmission andreception of information to and from the server 4 can be performed via aconnector for a wired communication, instead of the wirelesscommunication module 118 and the antenna 122. The memory card connector121 is a connector for connecting thereto the external storage mediumsuch as a memory card. For example, the I/O processor 111 a accesses theexternal storage medium via the extension connector 120 or the memorycard connector 121, so as to store data in the external storage mediumor to read data from the external storage medium.

The game apparatus 103 is provided with a power button 124, a resetbutton 125, and an eject button 126. The power button 124 and the resetbutton 125 are connected to the system LSI 111. When the power button124 is turned on, electric power is supplied to each component of thegame apparatus 103 via an AC adaptor (not shown). In the state where thepower has been turned on, if the power button 124 is pressed, the gameapparatus 103 shifts to a low power standby mode. Even in the low powerstandby mode, electric power is supplied to the game apparatus 103.Because electric power is always supplied to the game apparatus 103, thegame apparatus 103 can be always connected to a network such as theInternet even in this state. For turning off the power after the poweris turned on, the power button 124 is pressed for a predetermined timeperiod or longer. The reset button 125 is pressed to cause the systemLSI 111 to restart a boot program of the game apparatus 103. The ejectbutton 126 is connected to the disc drive 114. The eject button 126 ispressed to eject the optical disc 104 from the disc drive 114.

Next, the controller 107 will be described. With reference to FIG. 4, asdescribed above, the controller 107 includes the housing 1071 and theplurality of operation buttons 1072 provided on the surface of thehousing 1071 and, in addition, has a built-in acceleration sensor (notshown), and therefore, the controller 107 can detect its ownorientation, and the like. On a front surface of the housing 1071 (thefurther side in the drawing is the front), an image pickup element (notshown) constituting a part of an imaging information calculation section(not shown) is provided. The imaging information calculation section(not shown) is a system for analyzing image data of an image taken bythe controller 107, identifying an area having a high brightness in theimage and detecting a position of a center of gravity, a size and thelike of the area, thereby generating processing result data indicatingthe detection result. The imaging information calculation section has,for example, a maximum sampling period of about 200 frames/sec, andtherefore can trace and analyze even a relatively fast motion of thecontroller 107.

Then, the controller 107 functions as a wireless controller byperforming wireless communication with the game apparatus 103. Thecontroller 107 transmits to the game apparatus 103 various types ofoperation data (key data, acceleration data, process result data)indicating operations inputted by the user based on a predeterminedcommunication standard such as, for example, Bluetooth (registeredtrademark), every predetermined cycle (for example, 5 ms).

(Memory Map of the Game Apparatus 103)

Hereinafter with reference to FIG. 6A to FIG. 6D, a program and datastored in the internal main memory 111 e and/or the external main memory112 will be described. FIG. 6A is a memory map showing a non-limitingexample of a program and data stored in the internal main memory 111 eand/or the external main memory 112. Each of the internal main memory111 e and/or the external main memory 112 includes a program storagearea 130, a data storage area 131, and a frame storage area 132. Theprogram storage area 130 stores a stationary apparatus side return homenotification program P1 for causing the game apparatus 103 (CPU 110) toperform the stationary apparatus side return home notification process.

The data storage area 131 stores a user terminal table D1, an at-hometerminal table D2, a communication-disabled terminal table D3,notification data D4, own apparatus location information D5, serviceinformation D6, and passing information D7, by the CPU 110 executing thestationary apparatus side return home notification program P1.

The user terminal table D1 shows handheld terminals 200 each registeredas a terminal that performs determination on its user's being at home orreturning home. FIG. 6B shows a non-limiting example of the userterminal table D1. In the user terminal table D1, a terminal ID (forexample, MAC address) unique to a corresponding handheld terminal 200that performs determination on the user's being at home or returninghome, and a user name corresponding to this terminal ID are registered.Hereinafter, a handheld terminal 200 registered in the user terminaltable D1 may be referred to as a “handheld terminal 200 used as a userterminal”. By the user performing an operation of setting registrationon the handheld terminal 200 and the game apparatus 103, the CPU 110performs a process (setting registration process) of obtaining theterminal ID and the user name set for the handheld terminal 200 from thehandheld terminal 200, and of storing the obtained information in theuser terminal table D1.

With reference back to FIG. 6A, the at-home terminal table D2 is a tableshowing handheld terminals 200 that have been determined as being ableto communicate in the stationary apparatus side return home notificationprocess. FIG. 6C shows a non-limiting example of the at-home terminaltable D2. In the at-home terminal table D2, a terminal ID of acorresponding handheld terminal 200 being at home and the number ofsteps indicated by corresponding number-of-steps data transmitted fromthis terminal ID are registered, associated with each other. Asdescribed above, during the time period until a handheld terminal 200goes out of the communicable range with the game apparatus 103, the userof the handheld terminal 200 is at home. The terminal ID of a handheldterminal 200 that is at home during this time period is registered inthe at-home terminal table D2. Hereinafter, a handheld terminal 200registered in the at-home terminal table D2 may be referred to as an“at-home handheld terminal 200”. Here, the determination whether thehandheld terminal 200 is at home or has returned home is performed onlywith respect to “handheld terminals 200 used as user terminals”.Therefore, the handheld terminals 200 shown in the at-home terminaltable D2 are always included in the handheld terminals 200 shown in theuser terminal table D1.

The number-of-steps data is transmitted from an at-home handheldterminal 200 to the game apparatus 103, every time the game apparatus103 performs wireless communication with the at-home handheld terminal200, whereby the number of steps in the at-home terminal table D2 isupdated by this number-of-steps data.

With reference back to FIG. 6A, the communication-disabled terminaltable D3 shows handheld terminals 200 that were at-home handheldterminals 200 but have become unable to communicate. FIG. 6D shows anon-limiting example of a communication-disabled terminal table D3. Inthe communication-disabled terminal table D3, the terminal ID of acorresponding handheld terminal 200 that was an at-home handheldterminal 200 but has become unable to communicate, the number of stepsregistered in the at-home terminal table D2, and the date and time whenthe communication was disabled (latest date and time) are registered,associated with one another. The reason why the number of stepsregistered in the at-home terminal table D2 is registered is as follows.That is, in a case where the user of a handheld terminal 200 who was athome, went out, and then returned home, the difference between thenumber of steps indicated by the number-of-steps data received from thishandheld terminal 200 and the number of steps registered in the at-hometerminal table D2 is obtained, whereby the number of steps taken by theuser of the handheld terminal 200 during the time period while thecommunication was disabled is obtained. Then, based on the obtaineddifference (this number of steps), the game apparatus 103 determineswhether the user of the handheld terminal 200 went out.

Here, the determination whether the communication was disabled isperformed only with respect to at-home handheld terminals 200.Therefore, the handheld terminals 200 shown in thecommunication-disabled terminal table D3 are always included in thehandheld terminals 200 shown in the at-home terminal table D2. It shouldbe noted that a handheld terminal 200 included in thecommunication-disabled terminal table D3 may be referred to as a“communication-disabled handheld terminal 200”.

With reference back to FIG. 6A, the notification data D4 is data usedfor announcing the returning home of the user of the handheld terminal200 (for example, for displaying the screen as shown in FIG. 2), and is,for example, text data to be superimposed on a game image. Thenotification data D4 may be sound data and the like for announcing thereturning home of the user of the handheld terminal 200.

The own apparatus location information D5 is information indicating thelocation at which the game apparatus 103 is set (for example, latitudeand longitude information). This information is obtained, for example,in the following manner. That is, the user inputs the address of thelocation (user's own house) at which the game apparatus 103 is set, thegame apparatus 103 transmits this address to the server 4, whereby ownapparatus location information D5 corresponding to the address isobtained and stored. It should be noted that the own apparatus locationinformation D5 is not limited to the latitude and longitude informationas long as the own apparatus location information D5 indicates thelocation at which the game apparatus 103 is set. For example, the ownapparatus location information D5 may be information indicating anaddress and the like. The service information D6 is informationdownloaded from the server 4. The passing information D7 (D7a) isinformation that is received from the handheld terminal 200, which hasbeen obtained by this handheld terminal 200 performing passingcommunication with other handheld terminals 200.

The frame storage area 132 is an area for temporally storingcommunication frames (frames D21 to D26 shown in FIG. 10B to FIG. 10G)to be transmitted by the game apparatus 103 to the handheld terminal 200or to be received by the game apparatus 103 from the handheld terminal200. The communication frames will be described in detail below withreference to FIG. 10B to FIG. 10G.

It should be noted that the stationary apparatus side return homenotification program P1 and data D1 to D6 are read, for example, fromthe flash memory 117 and are stored in the program storage area 130 andthe data storage area 131.

(Configuration of the Handheld Terminal 200)

FIG. 7 is an external view of the handheld terminal 200. By performing ahandheld terminal side return home notification program, the handheldterminal 200 functions as a handheld information processing apparatusaccording to the certain exemplary embodiments.

FIG. 7 shows the handheld terminal 200 which is a foldable handheld gameapparatus and which is in an opened state. The handheld terminal 200 isformed in a size that allows the user to hold it with their one or bothhands even when the handheld terminal 200 is in the opened state.

The handheld terminal 200 includes a lower housing 211 and an upperhousing 221. The lower housing 211 and the upper housing 221 areconnected to each other in a manner that allows them to be opened andclosed (i.e., foldable). In the example of FIG. 7, the lower housing 211and the upper housing 221 are each formed in a plate-like shape of ahorizontally long rectangle, and are rotatably connected at their longersides. Normally, the user uses the handheld terminal 200 in the openedstate. When not using the handheld terminal 200, the user keeps thehandheld terminal 200 in the closed state. In the example of FIG. 7, thestate of the handheld terminal 200 is not limited to the opened orclosed state. For example, with friction force occurring at theconnection between the lower housing 211 and the upper housing 221, thehandheld terminal 200 can be maintained to be in an intermediate statebetween the opened state and the closed state, at any angle formed bythe lower housing 211 and the upper housing 221. In other words, theupper housing 221 can be caused to remain stationary at any angle withrespect to the lower housing 211.

In the lower housing 211, a lower LCD (Liquid Crystal Display) 212 isprovided. The lower LCD 212 has a horizontally long shape, and isarranged such that the orientation of the longer sides thereof coincideswith the orientation of the longer sides of the lower housing 211.Although the LCD is used as a display device to be incorporated in thehandheld terminal 200 in the exemplary embodiment, any other displaydevice, such as a display device using an EL (Electro Luminescence), maybe used, for example. In the handheld terminal 200, a display devicehaving any resolution may be used. Although details will be describedbelow, the lower LCD 212 is used for displaying, in real time, an imagecaptured by the inner camera 223 or the outer camera 225.

Operation buttons 214A to 214K and a touch panel 213 are provided in thelower housing 211 as input devices. The operation buttons 214A to 214Eare used for a determination operation, a cancellation operation, andthe like. The power button 214F is used to power ON/OFF the handheldterminal 200. The start button 214G, and the select button 214H are usedfor performing various operations with the handheld terminal 200.

It should be noted that the operation buttons 214I to 214K are not shownin FIG. 7. For example, the operation button 214I that is an L-button isprovided on a left end portion of an upper side surface of the lowerhousing 211, and the operation button 214J that is an R-button isprovided on a right end portion of the upper side surface of the lowerhousing 211. The L-button 214I and the R-button 214J are used for, e.g.,performing an operation of instructing the handheld terminal 200 tocapture an image (i.e., a shutter operation). Further, the operationbutton 214K that is a sound volume button is provided on a left sidesurface of the lower housing 211. The sound volume button 214K is usedto adjust the sound volume of loudspeakers included in the handheldterminal 200.

The handheld terminal 200 further includes the touch panel 213 as adifferent input device from the operations buttons 214A to 214K. Thetouch panel 213 is mounted so as to cover the screen of the lower LCD212. In the exemplary embodiment, a resistive film type touch panel isused as the touch panel 213, for example. However, the touch panel 213is not limited to the resistive film type touch panel, but anypress-type touch panel may be used. In a right side surface of the lowerhousing 211, an insertion opening (indicated by a dashed line in FIG. 7)for accommodating a stylus pen 227 is provided.

In the right side surface of the lower housing 211, an insertion opening(indicated by a two-dot chain line in FIG. 7) for accommodating a memorycard 228 is further provided. Inside the insertion opening, a connector(not shown) is provided for electrically connecting the handheldterminal 200 and the memory card 228. The memory card 228 is, forexample, an SD (Secure Digital) memory card, and detachably attached tothe connector. The memory card 228 is used, for example, for storing(saving) an image captured by the handheld terminal 200, and loading animage generated by another apparatus into the handheld terminal 200.

Further, in the upper side surface of the lower housing 211, aninsertion opening (indicated by a dashed-dotted line in FIG. 7) isprovided for accommodating a cartridge 229. Inside the insertionopening, a connector (not shown) is provided for electrically connectingthe handheld terminal 200 and the cartridge 229. The cartridge 229 is astorage medium in which a game program or the like is stored, and thecartridge 229 is detachably inserted into the insertion opening providedin the lower housing 211.

Three LEDs 215A to 215C are mounted at the left side portion of theconnection between the lower housing 211 and the upper housing 221.Here, the handheld terminal 200 is capable of performing wirelesscommunication with other apparatuses. The first LED 215A is lit up whilethe power of the handheld terminal 200 is ON. The second LED 215B is litup while the handheld terminal 200 is being charged. The third LED 215Cis lit up while the wireless communication is being established. Thus,the three LEDs 215A to 215C allow the user to be informed of a state ofON/OFF of the power of the handheld terminal 200, a state of charging ofthe handheld terminal 200, and a state of communication establishment ofthe handheld terminal 200.

Meanwhile, in the upper housing 221, an upper LCD 222 is provided. Theupper LCD 222 has a horizontally long shape, and is arranged such thatthe orientation of the longer sides thereof coincides with theorientation of the longer sides of the upper housing 221. Similarly tothe lower LCD 212, a display device of any type different from that ofthe upper LCD 222, or a display device having any resolution differentfrom that of the upper LCD 222, may be used in place of the upper LCD222. A touch panel may be provided so as to cover the upper LCD 222.

In the upper housing 221, two cameras (the inner camera 223 and theouter camera 225) are provided. As shown in FIG. 7, the inner camera 223is mounted at an inner main surface of the upper housing 221, in thevicinity of the aforementioned connection. On the other hand, the outercamera 225 is mounted on a surface reverse to the inner main surface onwhich the inner camera 223 is mounted, that is, on the outer mainsurface of the upper housing 221 (which is a surface to be located atthe outside of the handheld terminal 200 when the handheld terminal 200is in the closed state and which is the back surface of the upperhousing 221 shown in FIG. 7). In FIG. 7, the outer camera 225 isindicated by a dashed line.

In the inner main surface of the upper housing 221, near theaforementioned connection, a microphone (a microphone 241 shown in FIG.8) is accommodated as a sound input device. Also, in the inner mainsurface of the upper housing 221, near the connection, a microphone hole216 is formed so as to allow the microphone 241 to detect a soundoutside the handheld terminal 200. The accommodating position of themicrophone 241 and the position of the microphone hole 216 may notnecessarily be located near the connection. For example, the microphone241 may be accommodated in the lower housing 211, and the microphonehole 216 may be provided in the lower housing 211 so as to correspond tothe accommodating position of the microphone 241.

On the outer main surface of the upper housing 221, a fourth LED 226(indicated by a dashed line in FIG. 7) that is lit when the outer camera225 captures an image is mounted.

In the inner main surface of the upper housing 221, sound holes 224 areformed to the right and left of the upper LCD 222, respectively, theupper LCD 222 being provided near the center of the inner main surface.Loudspeakers are accommodated in the upper housing 221 at the back ofthe sound holes 224, respectively. The sound holes 224 are holes forreleasing sounds generated by the loudspeakers to the outside of thehandheld terminal 200.

Next, an internal configuration of the handheld terminal 200 will bedescribed with reference to FIG. 8. FIG. 8 is a block diagram showing anon-limiting example of the internal configuration of the handheldterminal 200.

As shown in FIG. 8, the handheld terminal 200 includes electroniccomponents including a CPU (Central Processing Unit) 231, a main memory232, a memory control circuit 233, a stored data memory 234, a presetdata memory 235, a memory card interface (memory card I/F) 236 and acartridge I/F 243, a wireless communication module 237, a real timeclock (RTC) 238, a power circuit 239, an interface circuit (I/F circuit)240, and the like. These electronic components are mounted on anelectronic circuit substrate and accommodated in the lower housing 211(or may be accommodated in the upper housing 221).

The CPU 231 is information processing means for executing apredetermined program (including the handheld terminal side return homenotification program). The CPU 231 includes a core 231A for executingprocesses relating to communication, and a core 231B for executingapplications. In the exemplary embodiment, a predetermined program isstored in a memory (e.g. the stored data memory 234) within the handheldterminal 200 or in the memory card 228 and/or the cartridge 229, and thecore 231A performs communication processes (including a handheldterminal side return home notification process described below) usingthe wireless communication module 237 by executing the predeterminedprogram. Further, the core 231B performs predetermined game processingby executing the game application.

Since the core 231A exclusively performs communication processes in theexemplary embodiment, communication processes with another communicationapparatus can be performed while the core 231B is executing anapplication, irrespective of the processes being performed for theapplication. It should be noted that a program executed by the CPU 231may be stored in advance in a memory within the handheld terminal 200,may be obtained from the memory card 228 and/or the cartridge 229, ormay be obtained from another apparatus by means of communication withsaid another apparatus. For example, a program may be obtained by meansof download via the Internet from a predetermined server, or may beobtained by downloading a predetermined program stored in the gameapparatus 103 through communication therewith.

The main memory 232, the memory control circuit 233, and the preset datamemory 235 are connected to the CPU 231. The stored data memory 234 isconnected to the memory control circuit 233. The main memory 232 isstorage means used as a work area and a buffer area of the CPU 231. Inother words, the main memory 232 stores various data used in the aboveprocesses performed by the CPU 231, and also stores a program obtainedfrom the outside (the memory cards 228 and 229, another apparatus, andthe like). In the exemplary embodiment, for example, a PSRAM(Pseudo-SRAM) is used as the main memory 232. The stored data memory 234is storage means for storing a program executed by the CPU 231, data ofimages taken by the inner camera 223 and the outer camera 225, and thelike. The stored data memory 234 is constructed of a nonvolatile storagemedium, for example, a NAND flash memory, in the exemplary embodiment.The memory control circuit 233 is a circuit for controlling reading ofdata from the stored data memory 234 or writing of data to the storeddata memory 234 in accordance with an instruction from the CPU 231. Thepreset data memory 235 is storage means for storing data (preset data)of various parameters and the like which are set in advance in thehandheld terminal 200. A flash memory connected to the CPU 231 via anSPI (Serial Peripheral Interface) bus can be used as the preset datamemory 235.

The memory card I/F 236 is connected to the CPU 231. The memory card I/F236 reads data from the memory card 228 mounted on the connector orwrites data to the memory card 228 in accordance with an instructionfrom the CPU 231. In the exemplary embodiment, data of images taken bythe outer camera 225 is written to the memory card 228, and image datastored in the memory card 228 is read from the memory card 228 to bestored in the stored data memory 234.

The cartridge I/F 243 is connected to the CPU 231. The cartridge I/F 243reads out data from the cartridge 229 mounted to the connector or writesdata to the cartridge 229 in accordance with an instruction from the CPU231. In the exemplary embodiment, an application program is read outfrom the cartridge 229 to be executed by the CPU 231, and data regardingthe application program (e.g. saved data and the like) is written to thecartridge 229.

The wireless communication module 237 performs wireless communicationwith another communication apparatus. Here, the wireless communicationmodule 237 performs wireless communication using a short-range wirelesscommunication (for example, ISM (Industry-Science-Medical) band thatuses, for example, weak radio waves which are allowed to be used withouta radio station license. As such a communication method, in theexemplary embodiment, a method conformed to the standard ofIEEE802.11.b/g and a unique communication method are used. However, thecommunication method is not limited thereto, and other communicationmethods may be used. The wireless communication module 237 is connectedto the core 231A. The core 231A can transmit and receive data withanother apparatus by use of the wireless communication module 237 via ornot via the external network 3 (for example, the Internet).

For example, while being in a communicable range with the game apparatus103 (for example, distance within 10 to 30 m), the wirelesscommunication module 237 can transmit and receive data to and from thegame apparatus 103 through wireless communication therewith. Moreover,the wireless communication module 237 can receive data (including theaccess point location information described above) from an access point300.

Moreover, the wireless communication module 237 has a function ofwirelessly communicate with a game apparatus of the same type. That is,while being located within a communicable range with another handheldterminal 200 (for example, distance within 10 to 30 m), the core 231Acan transmit and receive information (the passing information D7described above) to and from the other handheld terminal 200 by use ofthe wireless communication module 237. The transmission and reception ofthe passing information D7 is performed upon receiving an instructionfrom the user, and also repeatedly and automatically performed everypredetermined cycle, not on the condition of receiving an instructionfrom the user. That is, the core 231A automatically searches for anotherhandheld terminal 200 in the communicable range, automaticallycommunicates with the found handheld terminal 200, and automaticallytransmits and receives data to and from the found handheld terminal 200.Then, after the communication is completed, the core 231A automaticallydisconnects the communication. The series of processes are repeatedevery predetermined cycle. Hereinafter, this communication will bereferred to as “passing communication”.

The passing communication process is performed while a plurality ofhandheld terminals 200 that perform communication are powered on. Thatis, the passing communication is performed also when the handheldterminal 200 is executing an application. This is because, the executionof the application is exclusively performed by the core 231B, and thus,the passing communication process can be performed by the core 231A inparallel with the execution process of the application. It should benoted that also while the handheld terminal 200 is set at a sleep mode,the “passing communication” may be performed. The sleep mode is apower-saving mode, and is a state where a part of the functions of thehandheld terminal 200 (for example, some of the functions of the CPU231, some of the functions of the display, and the like) are stopped.For example, a state in which no application is being executed becauseoperations of one or both of the core 231A and the core 231B are stoppedis also a sleep mode. In the sleep mode, the core 231A is not powered.Therefore, only when passing information is written on the stored datamemory 234 and is read from the stored data memory 234, the core 231A ispowered to be booted. Then, the core 231A writes and reads passinginformation on and from the stored data memory 234. Other passingcommunication processes are performed by the wireless communicationmodule 237 which is powered even in the sleep mode.

A microcomputer 238 is connected to the CPU 231. The microcomputer 238includes a memory 238 a and an RTC 238 b. The memory 238 a is structuredas a RAM, for example. A program executed by the microcomputer 238 anddata used for executing the program are read from the memory card 228,the cartridge 229, the stored data memory 234, and the like, and arestored in the memory 238 a. The RTC 238 b counts a time and outputs thetime to the microcomputer 238. For example, the microcomputer 238 cancalculate the date, a current time and the like based on the timecounted by the RTC 238 b. The power circuit 239 controls electric powerfrom a power supply (typically, a battery accommodated in the lowerhousing 211) of the handheld terminal 200 to supply the electric powerto each electronic component of the handheld terminal 200.

Further, an acceleration sensor 244 is connected to the microcomputer238. The acceleration sensor 244 is a triaxial acceleration sensor, forexample. The acceleration sensor 244 is provided within the lowerhousing 211, for example. Alternatively, the acceleration sensor 244 maybe provided within the upper housing 221. The acceleration sensor 244detects acceleration in two directions that are orthogonal to eachother. One of the two directions is perpendicular to the surface of thelower LCD 212 (the upper LCD 222 in a case where the acceleration sensor244 is provided within the upper housing 221) of the handheld terminal200, and the other direction is in parallel to the surface of the lowerLCD 212 (the upper LCD 222 in a case where the acceleration sensor 244is provided within the upper housing 221). The acceleration sensor 244outputs signals indicating the detected acceleration (accelerationsignals) to the microcomputer 238. Based on the acceleration signals,the microcomputer 238 can detect the orientation of the handheldterminal 200 and the magnitude of vibration exerted on the handheldterminal 200.

The microcomputer 238 executes a number-of-steps measuring programstored in the memory 238 a while the power is on, thereby performing aprocess of measuring the number of steps of the user (number-of-stepscounting process) by use of the acceleration sensor 244. Themicrocomputer 238 instructs the core 231A to cause the stored datamemory 234 to store number-of-steps data indicating the measured numberof steps every predetermined time period. It should be noted that themicrocomputer 238 is powered even in the sleep mode and performs thenumber-of-steps counting process, whereas the core 231A that is in astopped state is powered to be booted, so as to store thenumber-of-steps data in the stored data memory 234. The number-of-stepscounting process will be described in detail below with reference toFIG. 19.

The handheld terminal 200 includes the microphone 241 and an amplifier242. The microphone 241 and the amplifier 242 are connected to the I/Fcircuit 240. The microphone 241 detects voice produced by the usertoward the handheld terminal 200, and outputs a sound signal indicatingthe voice to the I/F circuit 240. The amplifier 242 amplifies the soundsignal from the I/F circuit 240, and causes the speakers (not shown) tooutput the sound signal. The I/F circuit 240 is connected to the CPU231.

The touch panel 213 is connected to the I/F circuit 240. The I/F circuit240 includes a sound control circuit for controlling the microphone 241and the amplifier 242 (the speakers), and a touch panel control circuitfor controlling the touch panel 213. The sound control circuit performsA/D conversion or D/A conversion of the sound signal, and converts thesound signal into sound data in a predetermined format. The touch panelcontrol circuit generates touch position data in a predetermined formatbased on a signal from the touch panel 213, and outputs the touchposition data to the CPU 231. For example, the touch position data isdata indicating coordinates of a position at which an input is performedon an input surface of the touch panel 213. The touch panel controlcircuit reads a signal from the touch panel 213 and generates touchposition data every predetermined period of time. The CPU 231 is capableof recognizing a position at which an input is performed on the touchpanel 213 by obtaining the touch position data via the I/F circuit 240.

An operation button 214 includes the above operation buttons 214A to214K, and is connected to the CPU 231. The operation button 214 outputsoperation data indicating an input state of each of the buttons 214A to214K (whether or not each button is pressed) to the CPU 231. The CPU 231obtains the operation data from the operation button 214, and performsprocessing in accordance with an input performed onto the operationbutton 214.

The inner camera 223 and the outer camera 225 are connected to the CPU231. Each of the inner camera 223 and the outer camera 225 takes animage in accordance with an instruction from the CPU 231, and outputsdata of the taken image to the CPU 231. In the exemplary embodiment, theCPU 231 gives an imaging instruction to the inner camera 223 or theouter camera 225, and the camera which has received the imaginginstruction takes an image and transmits image data to the CPU 231.

The lower LCD 212 and the upper LCD 222 are connected to the CPU 231.Each of the lower LCD 212 and the upper LCD 222 displays an imagethereon in accordance with an instruction from the CPU 231.

(Memory Map of the Handheld Terminal 200)

Hereinafter, a program and data stored in the main memory 232 of thehandheld terminal 200 will be described with reference to FIG. 9. FIG. 9shows a memory map showing a non-limiting example of a program and datastored in the main memory 232. The main memory 232 includes a programstorage area 232 a, a data storage area 232 b, and a frame storage area232 c. The handheld terminal side return home notification program P10is stored in the program storage area 232 a. The handheld terminal sidereturn home notification program P10 is a program for causing the core231A to perform (to cause the game apparatus 103 to perform) processes(the handheld terminal side return home notification process) ofdetermining whether the user of the handheld terminal 200 has returnedhome or is at home and for announcing the user′ returning home.

Further, the service information D6, the passing information D7 (D7a,D7b), number-of-steps data D11, and the access point locationinformation D12 are stored in the data storage area 232 b, by the core231A executing the handheld terminal side return home notificationprogram P10. The service information D6 is the same as the serviceinformation D6 shown in FIG. 6A and is the information received from thegame apparatus 103. The passing information D7 is information of avatarsof the handheld terminal 200 as described above, identificationinformation for identifying the most immediately used application, andthe like. The passing information D7a is the same as the passinginformation D7a shown in FIG. 6A and is the passing information receivedfrom other handheld terminals 200. The passing information D7b is thepassing information D7 generated in the own apparatus and to betransmitted to another handheld terminal 200. In a case where thepassing information D7a and the passing information D7b are notdistinguished from each other, they are simply referred to as thepassing information D7.

The number-of-steps data D11 is data indicating the number of steps ofthe user of the handheld terminal 200, and is data generated by the core231A based on a number-of-steps count value measured by themicrocomputer 238. The number-of-steps data D11 is transmitted to thegame apparatus 103. The access point location information D12 isinformation indicating the location of the access point 2 received fromthe access point 2. The access point location information D12 istransmitted to the game apparatus 103 as the return home determinationfactor described above.

The frame storage area 232 c is an area for temporally storingcommunication frames (frames D21 to D28 shown in FIG. 10B to FIG. 10G,FIG. 11B, and FIG. 12B) to be transmitted by the handheld terminal 200to the game apparatus 103 or received by the handheld terminal 200 fromthe game apparatus 103. The communication frames will be described indetail below with reference to FIG. 10B to FIG. 10G, FIG. 11B, and FIG.12B.

The handheld terminal side return home notification program P10, and thedata D6, D7, D11, and D12 are read, for example, from the stored datamemory 234 and is stored in the program storage area 232 a and the datastorage area 232 b.

(Outline of the Return Home Notification Process)

Hereinafter, the outline of the return home notification processperformed by the return home notification system 1 will be describedwith reference to FIG. 1, FIG. 3, FIG. 10A to FIG. 10G, FIG. 11A, FIG.11B, FIG. 12A, and FIG. 12B. As shown in FIG. 1, the user of a handheldterminal 200 is in the use's own house. While the power is on, thehandheld terminal 200 transmits a terminal beacon frame (see FIG. 10B)by broadcast at a predetermined cycle (every several seconds). When theuser is at home as shown in FIG. 1, the game apparatus 103 can receivethe terminal beacon frame since the game apparatus 103 is located withinthe radio wave coverage of the handheld terminal 200. Upon receiving theterminal beacon frame for the first time, the game apparatus 103registers the handheld terminal 200 (handheld terminal 200 that is auser terminal) that transmitted this terminal beacon frame, as anat-home handheld terminal 200 in the at-home terminal table D2 (see FIG.6C). As long as the game apparatus 103 is receiving the terminal beaconframes from this at-home handheld terminal 200, the game apparatus 103determines that this handheld terminal 200 is at home.

With reference to FIG. 3, the user of the handheld terminal 200 is notat home and is out of the user's house. In this case, since the gameapparatus 103 is not located within the radio wave coverage of thehandheld terminal 200, the game apparatus 103 cannot receive theterminal beacon frames. When the game apparatus 103 has become unable toreceive the terminal beacon frames any longer from the at-home handheldterminal 200 (a handheld terminal 200 registered in the at-home terminaltable D2), there is a possibility that the handheld terminal 200 hasgone out. Therefore, the game apparatus 103 registers this handheldterminal 200 in the communication-disabled terminal table D3 (see FIG.6D).

Then, when the game apparatus 103 receives a terminal beacon frame againfrom the communication-disabled handheld terminal 200, the gameapparatus 103 performs a process (at-time-of-communication-resumptionprocess) including a process of determining (return home determinationprocess) whether this handheld terminal 200 has returned home. In thisreturn home determination process, it is determined whether the user ofthe handheld terminal 200 has returned home by use of the return homedetermination factor as described above (the number-of-steps data D11,the access point location information D12, and elapsed timeinformation).

Hereinafter, with reference to FIG. 10A to FIG. 10G, communicationperformed between the game apparatus 103 and the handheld terminal 200in the at-time-of-communication-resumption process will be described.FIG. 10A is a communication sequence diagram showing a non-limitingexample of communication performed between the game apparatus 103 andthe handheld terminal 200 in the at-time-of-communication-resumptionprocess. The game apparatus 103 receives a terminal beacon frame fromthe communication-disabled handheld terminal 200. FIG. 10B shows anon-limiting example of the terminal beacon frame. A terminal beaconframe D21 includes a frame type F_TYP, a destination MAC address(broadcast address), a source MAC address, and the number-of-steps dataD11. In the frame type F_TYP, the type of the frame is described. Thenumber-of-steps data D11 shows the number of steps of the user of thehandheld terminal 200 as described with reference to FIG. 9.

With reference back to FIG. 10A, upon receiving the terminal beaconframe D21 from the communication-disabled handheld terminal 200, thegame apparatus 103 performs the at-time-of-communication-resumptionprocess as described above. In this at-time-of-communication-resumptionprocess, the game apparatus 103 performs a connection establishmentprocess (including transmission of a communication request to thehandheld terminal 200) for establishing connection with thecommunication-disabled handheld terminal 200, and when the connectionhas been established, the game apparatus 103 transmits a movementinformation request frame to the handheld terminal 200. FIG. 10C shows anon-limiting example of the movement information request frame. Amovement information request frame D22 includes a frame type F_TYP, adestination MAC address, and a source MAC address.

With reference back to FIG. 10A, in response to the communicationrequest from the game apparatus 103, the handheld terminal 200 performsa connection establishment process for establishing connection with thegame apparatus 103. Upon receiving the movement information requestframe D22 after the connection with the game apparatus 103 has beenestablished, the handheld terminal 200 transmits a movement informationframe to the game apparatus 103. FIG. 10D shows a non-limiting exampleof the movement information frame. A movement information frame D23includes a frame type F_TYP, a destination MAC address, a source MACaddress, and movement information D24. FIG. 10E shows a non-limitingexample of the movement information D24. The movement information D24 isinformation indicating the return home determination factor, andindicates the access point location information D12, the number-of-stepsdata D11, and the current date and time. The current date and timeindicates the date and time at which the handheld terminal 200 generatedthe movement information.

With reference back to FIG. 10A, the game apparatus 103 can obtain thereturn home determination factor by receiving a location informationframe D23. That is, the game apparatus 103 obtains the movementinformation D24 indicating the return home determination factor from thelocation information frame D23, and performs the return homedetermination process for determining whether the user of the handheldterminal 200 has returned home, by use of this movement information D24.Then, upon determining that the user of the handheld terminal 200 hasreturned home, the game apparatus 103 performs a process of announcingto another user the returning home of the user as shown in FIG. 2. Atthe same time, the game apparatus 103 transmits a service informationframe to the handheld terminal 200. FIG. 10F shows a non-limitingexample of the service information frame. A service information frameD25 includes a frame type F_TYP, a destination MAC address, a source MACaddress, and the service information D6. The service information D6 isthe information that the game apparatus 103 has received from the server4, as described above.

With reference back to FIG. 10A, by receiving the service informationframe D25, the handheld terminal 200 can obtain the service informationD6 obtained by the game apparatus 103 while the handheld terminal 200was not at home. Then, upon receiving the service information frame D25,the handheld terminal 200 transmits a passing information frame D26 tothe game apparatus 103 so as to allow the game apparatus 103 to obtainthe passing information D7 (D7a) that the handheld terminal 200 hasobtained while being out. FIG. 10G shows a non-limiting example of thepassing information frame D26. The passing information frame D26includes a frame type F_TYP, a destination MAC address, a source MACaddress, and the passing information D7 (D7a). The passing informationD7 is the information that the handheld terminal 200 has obtained byperforming passing communication with other handheld terminals 200 asdescribed above. In FIG. 10G, the passing information frame D26 includesonly one piece of passing information D7 (D7a). However, when thehandheld terminal 200 has obtained the passing information D7 (D7a) byperforming passing communication with a plurality of handheld terminals200, the passing information frame D26 includes a plurality of pieces ofthe passing information D7 (D7a).

With reference back to FIG. 10A, the game apparatus 103 can obtain thepassing information D7 (D7a) by receiving the passing information frameD26. The passing information D7 (D7a) is displayed on the screen of thetelevision 102 and is transmitted to the server 4.

Next, with reference to FIG. 3, FIG. 11A, and FIG. 11B, the passingcommunication which a handheld terminal 200 performs with anotherhandheld terminal 200 will be described. With reference to FIG. 3, thehandheld terminal 200 receives passing information D7 (D7a) throughpassing communication with another handheld terminal 200, and transmitspassing information D7 (D7b) generated in itself to the other handheldterminal 200. FIG. 11A shows a non-limiting example of the passingcommunication.

The handheld terminal 200 transmits a terminal beacon frame D21 (seeFIG. 10B) by broadcast as described above. Another handheld terminal 200that has received this terminal beacon frame D21 returns a terminalresponse frame. Since the frame configuration of the terminal responseframe is similar to that of the movement information request frame D22shown with reference to FIG. 10C, except that the terminal responseframe is described as the frame type F_TYP, the description of theterminal response frame will be omitted. Upon receiving the terminalresponse frame, the handheld terminal 200 transmits an information frameto the other handheld terminal 200. FIG. 11B shows a non-limitingexample of the information frame. An information frame D27 includes aframe type F_TYP, a destination MAC address, a source MAC address, andthe passing information D7. The passing information D7 included here isthe passing information D7b generated in the own apparatus. Accordingly,the handheld terminal 200 can allow the other handheld terminal 200 toobtain its own passing information D7b.

With reference back to FIG. 11A, upon receiving the information frameD27, the other handheld terminal 200 transmits to the handheld terminal200 an information frame D27 containing the passing information D7 (D7a)generated in the other handheld terminal 200. The handheld terminal 200receives the information frame D27 from the other handheld terminal 200.Thus, the handheld terminal 200 can obtain the passing information D7(D7a) from the other handheld terminal 200. In this manner, the handheldterminal 200 can transmit and receive passing information D7 to and fromthe other handheld terminal 200. It should be noted that although, inFIG. 11A, the handheld terminal 200 is the one that transmits a terminalbeacon frame D21 to the other handheld terminal 200, if the handheldterminal 200 is the one that receives a terminal beacon frame D21 fromthe other handheld terminal 200, the contents of the frames transmittedand received are reversed to those in FIG. 11A.

Next, with reference to FIG. 3, FIG. 12A and FIG. 12B, communication inwhich the handheld terminal 200 obtains the access point locationinformation D12 from the access point 2 will be described. Withreference to FIG. 3, the handheld terminal 200 is located within theradio wave coverage (for example, 50 m to 100 m) of the access point 2.FIG. 12A is a communication sequence diagram showing a non-limitingexample of communication between the access point 2 and the handheldterminal 200. The access point 2 transmits an AP beacon frame at apredetermined cycle (for example, every several seconds) by broadcast.FIG. 12B shows a non-limiting example of an AP beacon frame D28.

The AP beacon frame D28 includes a frame type F_TYP, a BSS ID (BasicService Set ID), an ESS ID (Extended Service ID), security information,an RSSI (Received Signal Strength Indication), channel information, theaccess point location information D12, and the like. The BSS ID isunique identification information for identifying the access point 2.The ESS ID is unique identification information for identifying thenetwork, and in this case, identification information unique to thewireless LAN composed of the access point 2 and the handheld terminal200 is described therein. The security information is information forensuring the security of communication between the access point 2 andthe handheld terminal 200. The RSSI is information with which thehandheld terminal 200 measures the strength of signals. The channelinformation is information indicating the channel used in thecommunication between the access point 2 and the handheld terminal 200.The access point location information D12 is information indicating thelocation at which the access point 2 is set as described above.

Although the AP beacon frame D28 includes the access point locationinformation D12 in the exemplary embodiment, the AP beacon frame D28 maynot include the access point location information D12. For example, aconfiguration may be employed in which the handheld terminal 200 storesa table in which the BSS ID of the access point 2 and the access pointlocation information D12 are registered, associated with each other, andby searching this table by use of the BSS ID contained in the AP beaconframe D28, the access point location information D12 is obtained.

As described above, by receiving the AP beacon frame D28, the handheldterminal 200 can obtain the access point location information D12 to beused as the return home determination factor.

(Detailed Description of the Stationary Apparatus Side Return HomeNotification Process)

Hereinafter, with reference to FIG. 13, the stationary apparatus sidereturn home notification process performed by the game apparatus 103will be described. FIG. 13 is a flowchart showing a non-limiting exampleof the stationary apparatus side return home notification processperformed by the CPU 110 of the game apparatus 103. The stationaryapparatus side return home notification process is performed by the CPU110, upon execution of the stationary apparatus side return homenotification program P1 (see FIG. 6A), and is started, for example, whenthe game apparatus 103 is powered on.

The CPU 110 performs a setting registration process for a handheldterminal 200 used as a user terminal (S1). The setting registrationprocess is a process for registering the handheld terminal 200 as a userterminal in the user terminal table D1 (see FIG. 6A and FIG. 6B). In theflowchart shown in FIG. 13, the process of step S1 is performed at thebeginning. The process of step S1 is performed only when the userinstructs the performance of the setting registration process.

Then, the CPU 110 performs processes from step S2 to S12 at apredetermined cycle (for example, every several seconds). Hereinafter,the processes step S2 to step S12 will be described. The CPU 110downloads the service information D6 from the server 4 (see FIG. 3) andperforms a process for causing the service information D6 to be storedin the flash memory 117 (S2). Then, the CPU 110 selects a handheldterminal 200 from handheld terminals 200 registered in the user terminaltable D1 (S3). The CPU 110 determines whether a terminal beacon frameD21 (see FIG. 10B) has been received from the handheld terminal 200selected in step S3 (S4).

When determining that the terminal beacon frame D21 has been receivedfrom the selected handheld terminal 200 (YES in S4), the CPU 110determines whether information of the selected handheld terminal 200 isregistered in the communication-disabled terminal table D3 (see FIG. 6Aand FIG. 6D) (S5). When determining that the information of the selectedhandheld terminal 200 is not registered in the communication-disabledterminal table D3 (NO in S5), the CPU 110 determines whether informationof the handheld terminal 200 is registered in the at-home terminal tableD2 (see FIG. 6A and FIG. 6C) (S6). Here, when determining that theinformation of the selected handheld terminal 200 is not registered inthe at-home terminal table D2 (NO in S6), the CPU 110 registers thenumber of steps indicated by the number-of-steps data D11 contained inthe terminal beacon frame D21 and the terminal ID of the selectedhandheld terminal 200 in the at-home terminal table D2 (S7), andadvances the process to step S8. When determining that the informationof the selected handheld terminal 200 is registered in the at-hometerminal table D2 (YES in S6), the CPU 110 advances the process to stepS8 without performing step S7.

In step S8, the CPU 110 determines whether the process of step S4 hasbeen performed for all of the handheld terminals 200 registered in theuser terminal table D1. If there are handheld terminals 200 for whichthe process of step S4 has not been performed (NO in S8), the CPU 110returns the process to step S3, and selects a handheld terminal 200 thatis a user terminal from the handheld terminals 200 that have not beenselected. Then, the CPU 110 performs subsequent processes and theprocess is repeatedly returned to step S3 until it is determined thatthe process of step S4 has been performed for all of the handheldterminals 200 registered in the user terminal table D1 (until it isdetermined as YES in S8).

On the other hand, when determining that the process of step S4 has beenperformed for all of the handheld terminals 200 registered in the userterminal table D1 (YES in S8), the CPU 110 returns the process to stepS2. It should be noted that the CPU 110 performs the process of step S2after the predetermined cycle has elapsed since the CPU 110 performedthe process of step S2 last time.

Next, a process performed when it is determined as YES in step S5 willbe described. When determining that the selected handheld terminal 200is registered in the communication-disabled terminal table D3 (see FIG.6A and FIG. 6D) in step S3 (YES in S5), the CPU 110 performs theat-time-of-communication-resumption process (S9). Theat-time-of-communication-resumption process includes not only the returnhome determination process for determining whether the user of thehandheld terminal 200 has returned home, but also a process oftransmitting and receiving information to and from the handheld terminal200 when it is determined that the user has returned home, and the like.The at-time-of-communication-resumption process will be described indetail below with reference to FIG. 14. Then, the CPU 110 performs theprocess of step S8 described above and determines whether the process ofstep S4 has been performed for all of the handheld terminals 200registered in the user terminal table D1. When the determination resultin step S8 is affirmative, the CPU 110 returns the process to step S2,and when the determination result in step S8 is negative, the CPU 110returns the process to step S3.

Next, the process performed when it is determined as NO in step S4 willbe described. When determining that the terminal beacon frame D21 hasnot been received from the selected handheld terminal 200 (see FIG. 10B)(NO in S4), the CPU 110 determines whether information of the handheldterminal 200 is registered in the at-home terminal table D2 (S10). Whendetermining that the information of the selected handheld terminal 200is registered in the at-home terminal table D2 (YES in S10), the CPU 110deletes the information (terminal ID and number of steps) of theselected handheld terminal 200 registered in the at-home terminal tableD2 (S11), and registers the deleted information and the current date andtime, associated with each other, in the communication-disabled terminaltable D3 (S12).

Thereafter, the CPU 110 performs the process of step S8, and determineswhether the process of step S4 has been performed for all the handheldterminals 200 registered in the user terminal table D1. When thedetermination result in step S8 is affirmative, the CPU 110 returns theprocess to step S2, and when the determination result in step S8 isnegative, the CPU 110 returns the process to step S3. When determiningthat the information of the selected handheld terminal 200 is notregistered in the at-home terminal table D2 (NO in S10), the CPU 110does not perform step S11 and step S12 and performs step S8.

Next, the at-time-of-communication-resumption process performed in stepS9 will be described with reference to FIG. 14. FIG. 14 is a flowchartshowing a non-limiting example of theat-time-of-communication-resumption process. First, the CPU 110 performsthe connection establishment process (including a process oftransmitting communication request) for establishing connection with theselected handheld terminal 200 (S91). Then, the CPU 110 determineswhether connection with the selected handheld terminal 200 has beenestablished (S92).

When determining that the connection with the selected handheld terminal200 has not been established (NO in S92), the CPU 110 deletes theinformation of the selected handheld terminal 200 from thecommunication-disabled terminal table D3 (S93), ends theat-time-of-communication-resumption process, and performs step S8 inFIG. 13. On the other hand, when determining that the connection withthe selected handheld terminal 200 has been established (YES in S92),the CPU 110 transmits a movement information request frame D22 (see FIG.10C) to the selected handheld terminal 200, and then receives a movementinformation frame D23 (see FIG. 10D) from the handheld terminal 200 thathas received that frame D22, and obtains movement information D24 (seeFIG. 10E) from this frame D23 (S94).

Then, the CPU 110 performs the return home determination process byusing the movement information D24 (S95). The return home determinationprocess will be described in detail below with reference to FIG. 15.Through this return home determination process, it is determined whetherthe user of the selected handheld terminal 200 has returned home or hasbeen at home. Then, based on this determination result, the CPU 110determines whether the user of the selected handheld terminal 200 hasreturned home (S96). Here, if it is determined that it is not the casewhere the user of the selected handheld terminal 200 has returned home(that is, the user has been at home) (NO in S96), the CPU 110 deletesthe information of the selected handheld terminal 200 from thecommunication-disabled terminal table D3 (S93), and then ends theat-time-of-communication-resumption process and performs step S8 in FIG.13. On the other hand, when determining that the user of the selectedhandheld terminal 200 has returned home (YES in S96), the CPU 110performs a process for announcing that the returning home of the user ofthe selected handheld terminal 200 (for example, a process fordisplaying the screen as shown in FIG. 2) (S97).

Thereafter, the CPU 110 performs a process (a process of transmittingand receiving information to and from the handheld terminal 200) fortransmitting and receiving information to and from the selected handheldterminal 200 (S98). Specifically, the CPU 110 transmits a serviceinformation frame D25 (see FIG. 10F) to the selected handheld terminal200, and receives a passing information frame D26 (see FIG. 10G) fromthis handheld terminal 200. The CPU 110 obtains passing information D7(D7a) from the received passing information frame D26. It should benoted that, when the selected handheld terminal 200 has failed to obtainpassing information D7 (D7a) from another handheld terminal 200, a NULLvalue is contained as the passing information D7 (D7a) in the passinginformation frame D26.

Then, the CPU 110 performs a process (a process of transmittinginformation to the server 4) of transmitting the obtained passinginformation D7 to the server 4 (S99). Then, the CPU 110 performs aprocess (passing information displaying process) for displaying thepassing information D7 on the screen of the television 102 after or atthe same time of announcing the returning home of the user (S100). Itshould be noted that if the obtained passing information D7 indicates aNULL value, the CPU 110 performs a process for displaying that thepassing information D7 has not been obtained. Then, the CPU 110 performsa process of releasing the connection with the selected handheldterminal 200 (S101), and then deletes the information of the selectedhandheld terminal 200 from the communication-disabled terminal table D3(S93). Thereafter, the CPU 110 ends theat-time-of-communication-resumption process and performs step S8 in FIG.13.

Hereinafter, the return home determination process in step S95 will bedescribed with reference to FIG. 15. FIG. 15 is a flowchart showing anon-limiting example of the return home determination process. First,the CPU 110 obtains access point location information D12 from themovement information D24 (S951). In a case where the handheld terminal200 has failed to obtain the access point location information D12 fromthe access point 2 (a case where an AP beacon frame D28 (see FIG. 12B)has not been received from the access point 2), a NULL value iscontained in the movement information frame D23 as the access pointlocation information D12.

The CPU 110 determines whether the access point location information D12is a NULL value, that is, whether the access point location informationD12 from the access point 2 has been obtained (S952). When determiningthat the access point location information D12 from the access point 2has been obtained (YES in S952), the CPU 110 determines whether thelocation of the own apparatus indicated by the own apparatus locationinformation D5 (see FIG. 6A) and the location indicated by the accesspoint location information D12 is separated by a predetermined distanceor more (S953). Here, when determining that the location of the ownapparatus and the location indicated by the access point locationinformation D12 is separated by the predetermined distance or more (YESin S953), the CPU 110 determines that the user of the selected handheldterminal 200 has returned home (S954), ends the return homedetermination process, and advances the process to step S96 shown inFIG. 14. On the other hand, when determining that the location of theown apparatus and the location indicated by the access point locationinformation D12 is not separated by the predetermined distance or more(NO in S953), the CPU 110 advances the process to step S955.

Next, the process performed by the CPU 110 when it is determined as NOin S952 will be described. When determining that the access pointlocation information D12 from the access point 2 has not been obtained(NO in S952), the CPU 110 obtains the number of steps corresponding tothe selected handheld terminal 200 from the communication-disabledterminal table D3. In addition, the CPU 110 obtains number-of-steps dataD11 from the movement information D24 obtained in step S94. Then, theCPU 110 calculates a difference a between the number of steps indicatedby the number-of-steps data D11 obtained from the movement informationD24 and the number of steps obtained from the communication-disabledterminal table D3 (S955).

Next, the CPU 110 determines whether the difference a between thenumbers of steps is greater than the threshold value w1 (S956). Whendetermining that the difference a between the numbers of steps isgreater than the threshold value w1 (YES in S956), the CPU 110determines that the user of the selected handheld terminal 200 hasreturned home (S954), ends the return home determination process, andadvances the process to step S96 shown in FIG. 14. On the other hand,when determining that the difference a between the numbers of steps isless than or equal to the threshold value w1 (NO in S956), the CPU 110obtains the date and time (date and time at which communication becamedisabled) corresponding to the selected handheld terminal 200 from thecommunication-disabled terminal table D3. In addition, the CPU 110obtains the current date and time from the movement information D24obtained in step S94. Then, based on the current date and time obtainedfrom movement information D24 and the date and time obtained from thecommunication-disabled terminal table D3, the CPU 110 calculates anelapsed time from the date and time obtained from thecommunication-disabled terminal table D3 to the current date and time(S957).

Then, the CPU 110 determines whether the calculated elapsed time isgreater than a threshold value t1 (S958). Here, when determining thatthe calculated elapsed time is less than or equal to the threshold valuet1 (NO in S958), the CPU 110 determines that the user of the selectedhandheld terminal 200 has been at home (was not out, that is, not“returning home”) (S959), ends the return home determination process,and advances the process to step S96 shown in FIG. 14. On the otherhand, when determining that the calculated elapsed time is greater thanthe threshold value t1 (YES in S958), the CPU 110 determines whether thedifference a between the numbers of steps calculated in step S955 isgreater than the threshold value w2 (S960).

Then, when determining that the difference a between the numbers ofsteps is greater than the threshold value w2 (YES in S960), the CPU 110determines that the user of the selected handheld terminal 200 hasreturned home (S954), ends the return home determination process, andadvances the process to step S96 shown in FIG. 14. On the other hand,when determining that the difference a between the numbers of steps isless than or equal to the threshold value w2 (NO in S960), the CPU 110determines that the user of the selected handheld terminal 200 has beenat home (S959), ends the return home determination process, and advancesthe process to step S96 shown in FIG. 14. Alternatively, the followingconfiguration may be employed in which: it is determined that the userhas been at home in the case of NO in S956; the process is advanced toS957 in the case of YES in S956; and it is determined that the use hasreturned home only in the case of YES both in S956 and S958. In thismanner, it is possible to eliminate the case where the userintentionally increases the number of steps, for example, by shaking thehandheld terminal 200.

(Detailed Description of the Handheld Terminal Side Return HomeNotification Process)

Hereinafter, the handheld terminal side return home notification processperformed by the handheld terminal 200 will be described with referenceto FIG. 16 and FIG. 17. FIG. 16 is a flowchart (No. 1) showing anon-limiting example of the handheld terminal side return homenotification process. FIG. 17 is a flowchart (No. 2) showing anon-limiting example of the handheld terminal side return homenotification process. First, with reference to FIG. 16, the handheldterminal side return home notification process is started when thehandheld terminal 200 is powered on, and is performed by the core 231Awhile the power of the handheld terminal 200 is on. It should be notedthat the core 231A performs the handheld terminal side return homenotification process by use of the wireless communication module 237 andthe microcomputer 238, by executing the handheld terminal side returnhome notification program P10 (see FIG. 9).

First, the core 231A instructs the microcomputer 238 to perform thenumber-of-steps counting process (S21). In the number-of-steps countingprocess, a process of counting the number of steps of the user isperformed by use of the acceleration sensor 244. The number-of-stepscounting process will be described in detail below with reference toFIG. 19. Next, the core 231A performs a process of transmitting aterminal beacon frame D21 (see FIG. 10B) by broadcast (S22). Then, thecore 231A determines whether a terminal beacon frame D21 has beenreceived from another handheld terminal 200 (S23). Here, whendetermining that a terminal beacon frame D21 has been received fromanother handheld terminal 200 (YES in S23), the core 231A transmits aterminal response frame (see FIG. 11A) to the other handheld terminal200 (S24), and then advances the process to step S25. On the other hand,when determining that a terminal beacon frame D21 has not been receivedfrom another handheld terminal 200 (NO in S23), the core 231A does notperform step S24 and advances the process to step S25.

In step S25, the core 231A determines whether the terminal responseframe (see FIG. 11A) has been received. When determining that theterminal response frame has been received (YES in S25), the core 231Aperforms a process (information frame transmitting process) oftransmitting an information frame D27 (see FIG. 11A and FIG. 11B) to thehandheld terminal 200 that is a corresponding partner (S26). Then, thecore 231A advances the process to step S27. On the other hand, whendetermining that the terminal response frame has not been received fromthe other handheld terminal 200 (NO in S25), the core 231A does notperform step S26 and advances the process to step S27.

In step S27, the core 231A determines whether the information frame D27has been received. When determining that the information frame D27 hasbeen received (YES in S27), the core 231A obtains passing information D7(D7a) from the information frame D27 and causes the passing informationD7 (D7a) to be stored in the stored data memory 234 (S28). Then, thecore 231A determines whether an information frame D27 has already beentransmitted to the source of the information frame D27 received in stepS27 (S29). When determining that an information frame D27 has not beentransmitted to the source of the information frame D27 (NO in S29), thecore 231A transmits an information frame D27 generated in the ownapparatus to the source of the information frame D27 (S30). Thereby,passing information D7 can be transmitted and received between the otherhandheld terminal 200 and the own apparatus. Then, the core 231Aadvances the process to step S31. On the other hand, when determiningthat an information frame D27 has already been transmitted to the sourceof the information frame D27 (YES in S29), the core 231A does notperform step S30 and advances the process to step S31 shown in FIG. 17.

When it is determined as NO in step S27, that is, it is determined thatthe information frame D27 has not been received (NO in S27), the core231A does not perform step S28 to step S30 and advances the process tostep S31 shown in FIG. 17.

With reference to FIG. 17, in step S31, the core 231A determines whetheran AP beacon frame D28 (see FIG. 12A and FIG. 12B) has been received.When determining that an AP beacon frame D28 (see FIG. 12A and FIG. 12B)has been received (YES in S31), the core 231A obtains access pointlocation information D12 from the AP beacon frame D28 and causes theaccess point location information D12 to be stored in the stored datamemory 234 (S32). Then, the core 231A advances the process to step S33.On the other hand, when determining that an AP beacon frame D28 has notbeen received (NO in S31), the core 231A does not perform step S32 andadvances the process to step S33.

In step S33, the core 231A determines whether it is needed to performthe connection establishment process with the game apparatus 103(whether a communication request has been received). When determiningthat it is not needed to perform the connection establishment processwith the game apparatus 103 (NO in S33), the core 231A returns theprocess to step S22. On the other hand, when determining that it isneeded to perform the connection establishment process with the gameapparatus 103 (YES in S33), the core 231A performs the connectionestablishment process for establishing connection with the gameapparatus 103 (S34). Then, the core 231A determines whether connectionhas been established (S35), and when determining that connection has notbeen established (NO in S35), the core 231A returns the process to stepS22. On the other hand, when determining that connection has beenestablished (YES in S35), the core 231A determines whether the movementinformation request frame D22 (see FIG. 10A and FIG. 10C) has beenreceived from the game apparatus 103 (S36).

When determining that the movement information request frame D22 hasbeen received (YES in S36), the core 231A performs a process(information transmission and reception process) for transmitting andreceiving information with the game apparatus 103 (S37). The informationtransmission and reception process will be described in detail belowwith reference to FIG. 18. Then, after performing a process of releasingthe connection with the game apparatus 103 (S38), the core 231A returnsthe process to step S22. It should be noted that the processes from stepS22 to S38 are repeated at predetermined cycles (for example, everyseveral seconds) while the handheld terminal 200 is powered. Therefore,when the predetermined time period has elapsed since the process of stepS22 was performed last time, the step S22 is performed again. On theother hand, when determining that the movement information request frameD22 has not been received (NO in S36), the core 231A does not performstep S37, but performs the connection releasing process (S38), and thenreturns the process to step S22.

Hereinafter, the information transmission and reception processperformed in step S37 will be described with reference to FIG. 18. FIG.18 is a flowchart showing a non-limiting example of the transmission andreception process. First, the core 231A reads a number-of-steps countvalue from the memory 238 a of the microcomputer 238, updates thenumber-of-steps data D11 stored in the stored data memory 234 such thatthe read number-of-steps count value is added (S371). It should be notedthat when no number-of-steps data D11 is stored in the stored datamemory 234, the number-of-steps data D11 indicating the readnumber-of-steps count value is generated to be stored in the stored datamemory 234.

Next, the core 231A reads the number-of-steps data D11 and access pointlocation information D12 from the stored data memory 234. Then, the core231A generates a movement information frame D23 (see FIG. 10A and FIG.10D) including the number-of-steps data D11, the access point locationinformation D12, and the current date and time (S372). Then, the core231A transmits the movement information frame D23 to the game apparatus103 (S373). The core 231A resets the number-of-steps count value storedin the microcomputer 238 (the memory 238 a) and deletes thenumber-of-steps data D11 stored in the stored data memory 234 (S374).Accordingly, the value of the number-of-steps data D11 can be reset atan appropriate timing before the value of the number-of-steps data D11becomes useless, whereby it is possible to prevent the value of thenumber-of-steps data D11 from increasing without limitation. Then, thecore 231A receives a service information frame D25 (see FIG. 10A andFIG. 10F) from the game apparatus 103 (S375). It should be noted thatthe service information frame D25 is the one that was transmitted fromthe game apparatus 103 in step S98 shown in FIG. 14. Then, the core 231Aobtains service information D6 from the received service informationframe D25, and causes the service information D6 to be stored in thestored data memory 234 (S376).

Then, the core 231A reads all pieces of passing information D7 (D7a)stored in the stored data memory 234, generates a passing informationframe D26 (see FIG. 10G) containing these pieces of passing informationD7 (D7a), and transmits the generated passing information frame D26 tothe game apparatus 103 (S377). It should be noted that the gameapparatus 103 receives this passing information frame D26 in step S98shown in FIG. 14. Then, the core 231A ends the information transmissionand reception process and returns the process to the main routine(performs step S38 in FIG. 17).

(The Number-of-Steps Counting Process)

Hereinafter the number-of-steps counting process performed by themicrocomputer 238 will be described with reference to FIG. 19. FIG. 19is a flowchart showing a non-limiting example of the number-of-stepscounting process. The number-of-steps counting process is started uponinstruction issued by the core 231A in step S21 (see FIG. 16). Althoughthe number-of-steps counting process is performed by the microcomputer238 in the exemplary embodiment, the number-of-steps counting processmay be performed by the CPU 231. The number-of-steps counting process isperformed while the power of the handheld terminal 200 is on, and thenumber-of-steps counting process is ended when the power of handheldterminal 200 is turned off.

First, the microcomputer 238 initializes (for example, sets to 0) thenumber-of-steps count value stored in the memory 238 a (S41). Then, themicrocomputer 238 starts the timer function of the RTC 238 b (S42).Next, the microcomputer 238 determines whether an acceleration greaterthan or equal to a predetermined value has been detected based on asignal from the acceleration sensor 244 (S43). When it is determinedthat an acceleration greater than or equal to the predetermined valuehas been detected (YES in S43), it is considered that the number ofsteps has been detected, and the microcomputer 238 increments thenumber-of-steps count value of the memory 238 a by 1 (S44). Next, themicrocomputer 238 advances the process to step S45. On the other hand,when determining that an acceleration greater than or equal to thepredetermined value has not been detected (NO in S43), the microcomputer238 does not perform step S44 and advances the process to step S45.

In step S45, the microcomputer 238 determines whether a unit time period(for example, 5 minutes) has elapsed based on the count value counted bythe timer. When determining that the unit time period (for example, 5minutes) has elapsed (YES in S45), the microcomputer 238 instructs thecore 231A to update (add the number-of-steps count value) thenumber-of-steps data D11 stored in the stored data memory 234 by use ofthe number-of-steps count value stored in the memory 238 a (S46). Whenno number-of-steps data D11 is stored in the stored data memory 234, thecore 231A generates number-of-steps data D11 indicating thenumber-of-steps count value and causes the generated number-of-stepsdata D11 to be stored in the stored data memory 234. Then, the core 231Aresets the number-of-steps count value in the memory 238 a (S47). Then,the microcomputer 238 resets the value of the timer of the RTC 238 b(S48). Then, the microcomputer 238 returns the process to step S43. Itshould be noted that the processes from step S43 to S48 are repeated ata predetermined cycle (for example, every several seconds) until thepower is turned off.

Meanwhile, when determining that the unit time period (for example, 5minutes) has not elapsed (NO in S45), the microcomputer 238 does notperform steps S46 to S49 and returns the process to step S43.

It should be noted that, in the exemplary embodiment, thenumber-of-steps data D11 stored in the stored data memory 234 is deletedonly when it is determined that the user of the handheld terminal 200has returned home and the handheld terminal 200 performs step S37, andS374 (see FIG. 17 and FIG. 18). However, the configuration is notlimited thereto. A configuration may be employed in which the number ofsteps corresponding to a certain time period (for example one week) thathas elapsed since measurement of the number of steps was performed isdiscarded. In this case, the number-of-steps data D11 to which dates areadded is stored in the stored data memory 234. That is, when the numberof steps are measured for a plurality of days, the plurality of piecesof number-of-steps data D11 to each piece of which a corresponding dateis added are stored. The numbers of steps indicated by all of thesestored pieces of number-of-steps data D11 are added together, and theresultant value indicates the number of steps of the user. Then,number-of-steps data D11 of the date from which a certain time periodhas elapsed may be deleted from the stored data memory 234.

As described above, in the exemplary embodiment, while the handheldterminal 200 continues to be in a state where it is able to communicatewith the game apparatus 103, the game apparatus 103 determines that theuser continues to be located within the communicable range, that is, theuser is at home. When the handheld terminal 200 became unable tocommunicate with the game apparatus 103 and then has become able tocommunicate with the game apparatus 103 again, it is considered thatthere is a possibility that the handheld terminal 200 went out of thecommunicable range and has returned. Therefore, the return homedetermination process for determining whether the user of the handheldterminal 200 went out and has returned home is performed. When it isdetermined in the return home determination process that the user hasreturned home, another user (another user being at home) is notified ofthe returning home. Accordingly, simply by the user walking around whilecarrying the handheld terminal 200, it is possible to notify anotheruser at home that the user of the handheld terminal 200 has returnedhome, in a state where there is a high possibility that the user hasactually returned home.

Further, according to the exemplary embodiment, in the return homedetermination process, it is determined that whether the user of thehandheld terminal 200 has returned home, based on other return homedetermination factors (the number-of-steps data D11, the access pointlocation information D12, and the elapsed time information).Accordingly, in such a case where the communication between the handheldterminal 200 and the game apparatus 103 is disconnected because ofdeterioration of the communication condition while the handheld terminal200 is located in the communicable range with the game apparatus 103, itis possible to effectively prevent the game apparatus 103 fromerroneously determining that the user has returned home irrespective ofthe fact that the user was at home, and from notifying another user thereturning home.

Hereinafter, a variation of the above exemplary embodiment will bedescribed.

(1) In the exemplary embodiment, a method conformed to the standard ofIEEE 802.11b/g and a unique communication method are used for thecommunication between the game apparatus 103 and the handheld terminal200 and for the communication between the handheld terminals 200.However, the communication methods are not limited thereto, and othercommunication methods (for example, Bluetooth (registered trademark),IrDA (Infrared Data Association) and the like may be used.

(2) Although a number-of-steps counter (the microcomputer 238 and theacceleration sensor 244) is included in the handheld terminal 200 in theexemplary embodiment, a number-of-steps measuring apparatus may bestructured separately from the handheld terminal 200. In this case, anumber-of-steps count value may be obtained from the number-of-stepsmeasuring apparatus, by the handheld terminal 200 performingperiodically wireless communication with the number-of-steps measuringapparatus.

(3) According to the exemplary embodiment, in the return homedetermination process, it is determined, the user of the handheldterminal 200 has returned home based on other return home determinationfactors (the number-of-steps data D11, the access point locationinformation D12, and the elapsed time information). However, withoutusing such other return home determination factors, it may be alwaysdetermined that, when a communication-disabled handheld terminal 200 hasbecome able to communicate again (when the game apparatus 103 has becomeable to receive a terminal beacon frame D21 from the handheld terminal200 again), the user of the handheld terminal 200 has returned home, anda process for announcing (notifying) the user's returning home(corresponding to predetermined information processing according to thecertain exemplary embodiments) may be performed.

(4) As described above, according to the exemplary embodiment, when thehandheld terminal 200 has entered, after having gone out of thecommunicable range with the game apparatus 103, the communicable rangeagain, the game apparatus 103 performs a process of announcing(notifying) the returning home of the user of the handheld terminal 200,as predetermined information processing according to the certainexemplary embodiments. However, other information processing may beperformed. For example, the game apparatus 103 may perform a process orthe like for causing the marker 108 to be lit and causing the light tobe reflected by a wall in the house, thereby turning on the television102, which has been turned off. Accordingly, the user can watch atelevision show or a game video without performing an operation forturning on the television 102 immediately after returning home. Itshould be noted that the game apparatus 103 may also perform the processof announcing the user's returning home in addition to the aboveprocess, thereby displaying an image for notification of the user'sreturning home as shown in FIG. 2 on the screen of the television 102that is automatically turned on.

(5) The certain exemplary embodiments has been applied to the stationarygame apparatus 103 and the handheld game apparatus (handheld terminal)200. However, the certain exemplary embodiments may be applied to anyother stationary information processing apparatus that does not includea function for performing game processing. For example, a generalpersonal computer may be used as the stationary information processingapparatus according to the certain exemplary embodiments, and a mobilephone, a personal handy phone system (PHS), a personal digital assistant(PDA), or the like may be used as the handheld information processingapparatus.

While certain example systems, methods, devices and apparatuses havebeen described herein, it is to be understood that the appended claimsare not to be limited to the systems, methods, devices and apparatusesdisclosed, but on the contrary, are intended to cover variousmodifications and equivalent arrangements included within the spirit andscope of the appended claims.

What is claimed is:
 1. An information processing system including ahandheld information processing apparatus and a stationary informationprocessing apparatus, the handheld information processing apparatuscomprising: a first communication section for performing wirelesscommunication with the stationary information processing apparatus; anda first determination section for determining whether the wirelesscommunication with the stationary information processing apparatus ispossible, the stationary information processing apparatus comprising: asecond communication section for performing wireless communication withthe handheld information processing apparatus; a second determinationsection for determining whether the wireless communication with thehandheld information processing apparatus is possible; and aninformation processing section for performing predetermined informationprocessing, based on the determination by the second determinationsection, when the wireless communication with the handheld informationprocessing apparatus has become, after having become disabled, enabledagain.
 2. The information processing system according to claim 1,wherein the information processing section at least performs a process,as the predetermined information processing, for announcing to a userthat after having gone out of a wireless communication range with thesecond communication section, the handheld information processingapparatus has become located within the wireless communication rangeagain.
 3. The information processing system according to claim 1,wherein the handheld information processing apparatus further comprises:a number of steps measuring section; and a number-of-steps data storagesection for storing number-of-steps data obtained by the number of stepsmeasuring section, based on the determination by the first determinationsection, when the wireless communication with the stationary informationprocessing apparatus has become, after having become disabled, enabledagain, the first communication section transmits the number-of-stepsdata to the stationary information processing apparatus, and theinformation processing section performs the predetermined informationprocessing when the number of steps indicated by the number-of-stepsdata satisfies a predetermined criterion.
 4. The information processingsystem according to claim 3, wherein the information processing sectionperforms the predetermined information processing when the number ofsteps indicated by the number-of-steps data is greater than apredetermined number.
 5. The information processing system according toclaim 4, wherein the number of steps measuring section resets thenumber-of-steps data stored in the number-of-steps data storage section,after the transmission of the number-of-steps data by the firstcommunication section has been completed.
 6. The information processingsystem according to claim 1, wherein the information processing sectionmeasures an elapsed time since the wireless communication with thehandheld information processing apparatus has become disabled, andperforms the predetermined information processing when an elapsed timeat a time when the wireless communication with the handheld informationprocessing apparatus has become enabled again satisfies a predeterminedcriterion.
 7. The information processing system according to claim 6,wherein the information processing section performs the predeterminedinformation processing when the elapsed time is greater than a value ofthe predetermined criterion.
 8. The information processing systemaccording to claim 1, wherein the first communication section furtherperforms communication with another apparatus while the communicationwith the stationary information processing apparatus is not beingperformed, and the handheld information processing apparatus furthercomprises an other apparatus data storage section for storing otherapparatus data obtained through the communication with the otherapparatus, and the first communication section further transmits theother apparatus data to the stationary information processing apparatus.9. The information processing system according to claim 8, wherein theother apparatus is a wireless access point set at a predeterminedlocation, the other apparatus data is location information regarding thelocation at which the access point is set, and the informationprocessing section performs the predetermined information processingwhen the location information satisfies a predetermined criterion. 10.The information processing system according to claim 8, wherein theother apparatus is another handheld information processing apparatus,the other apparatus data is information processing data obtained fromthe other handheld information processing apparatus, and the informationprocessing section performs the predetermined information processingbased on the information processing data.
 11. The information processingsystem according to claim 1, wherein the stationary informationprocessing apparatus and the handheld information processing apparatusare a stationary game apparatus and a handheld game apparatus,respectively, which each perform game processing.
 12. The informationprocessing system according to claim 11, wherein the stationary gameapparatus further comprises: a network connection section for connectingto an external network; a game data obtaining section for obtaining gamedata via the external network; and a game data storage section forstoring the game data obtained by the game data obtaining section, andthe information processing section transmits the game data via thesecond communication section to the handheld game apparatus.
 13. Theinformation processing system according to claim 3, wherein the handheldinformation processing apparatus further comprises an accelerationsensor, and the number of steps measuring section detects the number ofsteps based on an acceleration detected by the acceleration sensor. 14.An information processing method comprising: a first communication stepof a handheld information processing apparatus performing wirelesscommunication with a stationary information processing apparatus by useof a first communication section of the handheld information processingapparatus; a first determination step of the handheld informationprocessing apparatus determining whether the wireless communication withthe stationary information processing apparatus is possible; a secondcommunication step of the stationary information processing apparatusperforming wireless communication with the handheld informationprocessing apparatus by use of a second communication section of thestationary information processing apparatus; a second determination stepof the stationary information processing apparatus determining whetherthe wireless communication with the handheld information processingapparatus is possible; and an information processing step of thestationary information processing apparatus performing predeterminedinformation processing, based on the determination in the seconddetermination step, when the wireless communication with the handheldinformation processing apparatus has become, after having becomedisabled, enabled again.
 15. The information processing method accordingto claim 14, wherein the information processing section at leastperforms a process, as the predetermined information processing, forannouncing to a user that after having gone out of a wirelesscommunication range with the second communication section, the handheldinformation processing apparatus has become located within the wirelesscommunication range again.
 16. The information processing methodaccording to claim 14, further comprising: a number-of-steps datastoring step of the handheld information processing apparatus storingnumber-of-steps data obtained by a number of steps measuring section ofthe handheld information processing apparatus; and a step of thehandheld information processing apparatus transmitting thenumber-of-steps data to the stationary information processing apparatusby use of the first communication section, based on the determination bythe first determination section, when the wireless communication withthe stationary information processing apparatus has become, after havingbecome disabled, enabled again, wherein in the information processingstep, the stationary information processing apparatus performs theinformation processing when the number of steps indicated by thenumber-of-steps data satisfies a predetermined criterion.
 17. Theinformation processing method according to claim 16, wherein in theinformation processing step, the stationary information processingapparatus performs the predetermined information processing when thenumber of steps indicated by the number-of-steps data is greater than apredetermined number.
 18. The information processing method according toclaim 17, further comprising: a step of the handheld informationprocessing apparatus resetting the number-of-steps data stored in thenumber-of-steps data storing step, after the transmission of thenumber-of-steps data by the first communication section has beencompleted.
 19. The information processing method according to claim 14,wherein in the information processing step, the stationary informationprocessing apparatus measures an elapsed time since the wirelesscommunication with the handheld information processing apparatus hasbecome disabled, and performs the predetermined information processingwhen an elapsed time at a time when the wireless communication with thehandheld information processing apparatus has become enabled againsatisfies a predetermined criterion.
 20. The information processingmethod according to claim 19, wherein in the information processingstep, the stationary information processing apparatus performs thepredetermined information processing when the elapsed time is greaterthan a value of the predetermined criterion.